Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <stdbool.h>
  5.  
  6. int Matriz[4][4] = {
  7. {2,2,5,2},
  8. {2,2,0,2},
  9. {2,2,1,3},
  10. {2,2,1,3}
  11. };
  12.  
  13. int check(int n, char d){
  14. return Matriz[n][d];
  15. }
  16.  
  17.  
  18. // Función que determina si UNA cadena de ADN pertenece a un Mutante.
  19. int Detecta(char cadena[60]){
  20.  
  21. int largo, i, estadoActual;
  22. largo = strlen(cadena);
  23.  
  24. // Imprime la cadena de ADN.
  25. for(i = 0; i < largo; i++){
  26. printf("%c", cadena[i]);
  27. }
  28.  
  29. estadoActual = 2; // 0 = q0, 1 = q1, 2 = q2, 3 = q3.
  30. for(i = 0; i < largo && cadena[i] != '\0'; i++){ // 'actgtacgaaatcggatat'
  31. estadoActual = check(estadoActual, cadena[i]);
  32. }
  33. return estadoActual;
  34. }
  35.  
  36. int main(void){
  37. printf("\nPrograma que detecta si una cadena de ADN pertence a un Mutante o a un Humano.\n");
  38.  
  39. printf("Aprete enter para comenzar el proceso.\n");
  40. getch();
  41.  
  42. int largo, i, num;
  43. FILE *archivo = NULL;
  44. char *cadenaADN, cadena[60];
  45. archivo = fopen("adn_cadenas.txt","r");
  46.  
  47.  
  48. if(!archivo){
  49. printf("Error: no se puede abrir el archivo!");
  50. return 1;
  51. }
  52.  
  53. while(!feof(archivo)){
  54. fscanf(archivo,"%s",cadenaADN);
  55. printf("%s ",cadenaADN);
  56.  
  57.  
  58. fscanf(archivo,"%s", cadenaADN);
  59. strcpy(cadena, cadenaADN); // Copiamos en el array 'cadena' el valor donde apunta cadenaADN. strcpy(cadena_destino, cadena_origen).
  60. num = Detecta(cadena);
  61.  
  62. if(num == 3){
  63. printf(" M");
  64. }else{
  65. printf(" H");
  66. }
  67. printf("\n");
  68. }
  69.  
  70. fclose(archivo);
  71. archivo = NULL;
  72.  
  73.  
  74. return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement