• Sábado 12 de Julio de 2025, 13:04

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - emeap

Páginas: [1]
1
C/C++ / Comparando cadenas en un array de cadenas
« en: Martes 2 de Junio de 2009, 12:30 »
Buenas, tengo un problema con un ejercicio en el cual hay que buscar una cadena (previamente declarada en el main) en un array de cadenas, y finalmente mostrar el numero de coincidencias...

Tengo el siguiente código:

Código: C
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <conio.h>
  6.  
  7. #define MAX_TAM 5 //Constante que define la longitud máxima de la cadena
  8.  
  9. //Declaración de las funciones
  10. int devolver_coincidencias(char *array_nombres[], char *nombre);
  11. void visualizar(int contador);
  12.  
  13. //Main
  14. int main()
  15. {
  16.     int contador;
  17.     char *array_nombres[] = {"pedro garcia","pedro","miguel"}; //Iniciacion de las cadenas
  18.     char *nombre = {"pedro"};
  19.     contador = devolver_coincidencias(array_nombres,nombre);
  20.     visualizar(contador);
  21.     printf("n");
  22.     system("pause");
  23. }
  24.  
  25. //Funcion que devuelve el numero de coincidencias dentro del array de cadenas
  26. int devolver_coincidencias(char *array_nombres[], char *nombre)
  27. {
  28.     int a = 0; //Variable que se va moviendo por el array de cadenas
  29.     int contador = 0;
  30.     if(strlen(array_nombres[a]) == MAX_TAM) //Compara el tamaño buscado con el de la cadena del array
  31.     {
  32.              if(strcmp(nombre,array_nombres[a]) == 0) //Compara las cadenas
  33.              {
  34.                                               contador++; //Si son iguales, aumenta el contador
  35.              }
  36.     }
  37.     else
  38.     {
  39.         a++; //Sino va al siguiente elemento del array de cadenas
  40.     }
  41.     return contador; //retorna el valor del contador
  42. }
  43.  
  44. //Funcion que visualiza el numero de cadenas repetidas en el array
  45. void visualizar(int contador)
  46. {
  47.      printf("La cadena esta repetida %d veces", contador);
  48.      getch();
  49. }
  50.  
  51.  

Me sería de gran ayuda cualquier aporte. Gracias ^_^

Páginas: [1]