Advertisement
Lagx

Cuestionario programación #2 Módulo 2 - Cadenas Estáticas

Aug 26th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.56 KB | None | 0 0
  1. 1)
  2. /*
  3. Nombre: Lucas Alarcon
  4. Fecha: 28-08-2017
  5. Nombre programa: Diseños de teclados
  6. Proposito: imprime el texto equivalente si se presionan las mismas teclas en el segundo diseño de teclado
  7. */
  8. #include <stdio.h>
  9. #include <ctype.h>
  10. #include <string.h>
  11. #define MAX1 26
  12. #define MAX2 1000
  13.  
  14. int main()
  15. {
  16.     int i,j,largo;
  17.     char teclado1[MAX1];
  18.     char teclado2[MAX1];
  19.     char texto[MAX2];
  20.     char texto_trad[MAX2];
  21.    
  22.     scanf("%s",teclado1); // lee el primer diseño de teclado
  23.     getchar();
  24.     scanf("%s",teclado2); // lee el segundo diseño de teclado
  25.     getchar();
  26.     scanf("%[^\n]s",texto); // lee el texto a traducir
  27.    
  28.    
  29.    
  30.     largo=strlen(texto); // calcula el largo del texto
  31.    
  32.     for(j=0;j<largo;j++) // ciclo que recorre el texto ingresado
  33.     {
  34.         for(i=0;i<MAX1;i++) // ciclo que recorre las cadenas que contienen los diseños de teclados
  35.         {
  36.             if((isdigit(texto[j])) || (ispunct(texto[j])) || (isspace(texto[j]))) // condicion cuando el caracter es un digito, simbolo o espacio
  37.             {
  38.                 texto_trad[j]=texto[j];
  39.             }
  40.             else if(texto[j]==teclado1[i]) // condicion cuando el caracter es una letra minuscula
  41.             {
  42.                 texto_trad[j]=teclado2[i];
  43.             }
  44.             else if(texto[j]==toupper(teclado1[i])) // condicion cuando el caracter es una letra mayuscula
  45.             {
  46.                 texto_trad[j]=toupper(teclado2[i]);
  47.             }
  48.         }
  49.     }
  50.    
  51.     texto_trad[j]='\0';
  52.    
  53.     printf("%s",texto_trad); //imprime el texto equivalente si se presionan las mismas teclas en el segundo diseño de teclado
  54.    
  55.     return 0;
  56. }
  57.  
  58. 2)
  59. /*
  60. Nombre: Lucas Alarcon
  61. Fecha: 26-08-2017
  62. Nombre programa: Evoluciones de Eevee
  63. Proposito: Encuentra el nombre del pokémon en que Eevee puede evolucionar para que coincida con el patrón en la entrada
  64. */
  65.  
  66. #include <stdio.h>
  67. #include <string.h>
  68. #define MAX 8
  69.  
  70. int comparar(char cadena[MAX],char evolucion[MAX]) //compara los caracteres ingresados con los caracteres de los nombres de las evoluciones
  71. {
  72.     int i,cont = 0;
  73.    
  74.     for(i=0;i<MAX-1;i++)
  75.     {
  76.         if(cadena[i] == evolucion[i])
  77.         {
  78.             cont++;
  79.         }
  80.     }
  81.     return cont;
  82. }
  83.  
  84. int mayorNum(int vector[6]) //encuetra el numero mayor en el arreglo
  85. {
  86.     int i,mayor = 0;
  87.    
  88.     for(i=0;i<6;i++)
  89.     {
  90.         if (vector[i]>mayor)
  91.         {
  92.             mayor = vector[i];
  93.         }
  94.     }
  95.    
  96.     return mayor;
  97. }
  98.  
  99. int main()
  100. {
  101.     int n;
  102.     int x1,x2,x3,x4,x5,x6;
  103.     char jolteon[MAX] = "jolteon";
  104.     char flareon[MAX] = "flareon";
  105.     char umbreon[MAX] = "umbreon";
  106.     char leafeon[MAX] = "leafeon";
  107.     char glaceon[MAX] = "glaceon";
  108.     char sylveon[MAX] = "sylveon";
  109.     char cadena[MAX];
  110.    
  111.     scanf("%d",&n); //lee la longitud de la cadena que se ingresa
  112.    
  113.     if(n==8)
  114.     {
  115.         printf("vaporeon");
  116.     }
  117.     else if(n==6)
  118.     {
  119.         printf("espeon");
  120.     }
  121.     else
  122.     {
  123.         scanf("%s",cadena); //lee la cadena de caracteres ingresada
  124.        
  125.         x1 = comparar(cadena,jolteon); //retorna cuantos caracteres de la cadena son iguales
  126.         x2 = comparar(cadena,flareon);
  127.         x3 = comparar(cadena,umbreon);
  128.         x4 = comparar(cadena,leafeon);
  129.         x5 = comparar(cadena,glaceon);
  130.         x6 = comparar(cadena,sylveon);
  131.        
  132.         int vector[6] = {x1,x2,x3,x4,x5,x6}; //se guardan los valores de la comparacion en una cadena
  133.        
  134.         if(mayorNum(vector) == x1) //condiciones para saber cual es el nombre que coincide con la cadena ingresada
  135.         {
  136.             printf("jolteon");
  137.         }
  138.         else if(mayorNum(vector) == x2)
  139.         {
  140.             printf("flareon");
  141.         }
  142.         else if(mayorNum(vector) == x3)
  143.         {
  144.             printf("umbreon");
  145.         }else if(mayorNum(vector) == x4)
  146.         {
  147.             printf("leafeon");
  148.         }else if(mayorNum(vector) == x5)
  149.         {
  150.             printf("glaceon");
  151.         }else if(mayorNum(vector) == x6)
  152.         {
  153.             printf("sylveon");
  154.         }
  155.     }
  156.    
  157.     return 0;
  158. }
  159.  
  160. 3)
  161.  
  162. 4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement