Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
tremendo codigaso ayudantia
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> #define MAX 26 #define TOTAL_BASES 4 #define BASES "acgt" struct BaseNitrogenada{ int repeticiones; char letra; }; void procesarDatos(int); struct BaseNitrogenada **crearBasesNitrogenadas(); struct BaseNitrogenada *crearBase(char); void contarRepeticiones(char *, struct BaseNitrogenada **); void mostrar(char *, struct BaseNitrogenada **); void freeBases(struct BaseNitrogenada **); int main() { int rep; scanf("%i", &rep); procesarDatos(rep); return 0; } void procesarDatos(int rep) { printf(" CADENA ADN #A #C #G #T\n"); printf("=============================================\n"); for(int i = 0 ; i < rep ; i++) { char *adn = (char *) malloc(MAX); scanf("%s", adn); struct BaseNitrogenada **bases = crearBasesNitrogenadas(); contarRepeticiones(adn, bases); mostrar(adn, bases); free(adn); freeBases(bases); } } struct BaseNitrogenada **crearBasesNitrogenadas() { struct BaseNitrogenada **bases = (struct BaseNitrogenada **) malloc(sizeof(struct BaseNitrogenada *) * TOTAL_BASES); for(int i = 0 ; i < TOTAL_BASES ; i++) { bases[i] = crearBase(BASES[i]); } return bases; } struct BaseNitrogenada *crearBase(char letra) { struct BaseNitrogenada *base = (struct BaseNitrogenada *) malloc(sizeof(struct BaseNitrogenada)); base->letra = letra; base->repeticiones = 0; return base; } void contarRepeticiones(char *adn, struct BaseNitrogenada **bases) { for(int i = 0 ; i < strlen(adn) ; i++) { for(int j = 0 ; j < TOTAL_BASES ; j++) { if(tolower(adn[i]) == bases[j]->letra) { bases[j]->repeticiones += 1; break; } } } } void mostrar(char *adn, struct BaseNitrogenada **bases) { printf("%25s", adn); for(int i = 0 ; i < TOTAL_BASES ; i++) { if(i == 0) { printf("%4i", bases[i]->repeticiones); } else { printf("%5i", bases[i]->repeticiones); } } printf("\n"); } void freeBases(struct BaseNitrogenada **bases) { for(int i = 0 ; i < TOTAL_BASES ; i++) { free(bases[i]); } free(bases); }
run
|
edit
|
history
|
help
0
150109_RecursividadPrimo
test
PREGUNTA 2, GUÍA 4, MÓDULO 3
18BCE2182 ASSESS_2 Q-1
Official Hello world
linear_search.c
CO Assignment 1 Question 2
linear hybrid cellular automaton utilizing rules 90 and 150 with period of (2^64)-1 for generating high quality random bits is reversible
B_141107_Factorial
Lab 5 HW Spring 2017 v0.5