Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdbool.h>
- int Matriz[4][4] = {
- {2,2,5,2},
- {2,2,0,2},
- {2,2,1,3},
- {2,2,1,3}
- };
- int check(int n, char d){
- return Matriz[n][d];
- }
- // Función que determina si UNA cadena de ADN pertenece a un Mutante.
- int Detecta(char cadena[60]){
- int largo, i, estadoActual;
- largo = strlen(cadena);
- // Imprime la cadena de ADN.
- for(i = 0; i < largo; i++){
- printf("%c", cadena[i]);
- }
- estadoActual = 2; // 0 = q0, 1 = q1, 2 = q2, 3 = q3.
- for(i = 0; i < largo && cadena[i] != '\0'; i++){ // 'actgtacgaaatcggatat'
- estadoActual = check(estadoActual, cadena[i]);
- }
- return estadoActual;
- }
- int main(void){
- printf("\nPrograma que detecta si una cadena de ADN pertence a un Mutante o a un Humano.\n");
- printf("Aprete enter para comenzar el proceso.\n");
- getch();
- int largo, i, num;
- FILE *archivo = NULL;
- char *cadenaADN, cadena[60];
- archivo = fopen("adn_cadenas.txt","r");
- if(!archivo){
- printf("Error: no se puede abrir el archivo!");
- return 1;
- }
- while(!feof(archivo)){
- fscanf(archivo,"%s",cadenaADN);
- printf("%s ",cadenaADN);
- fscanf(archivo,"%s", cadenaADN);
- strcpy(cadena, cadenaADN); // Copiamos en el array 'cadena' el valor donde apunta cadenaADN. strcpy(cadena_destino, cadena_origen).
- num = Detecta(cadena);
- if(num == 3){
- printf(" M");
- }else{
- printf(" H");
- }
- printf("\n");
- }
- fclose(archivo);
- archivo = NULL;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement