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:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define MAX_TAM 5 //Constante que define la longitud máxima de la cadena
//Declaración de las funciones
int devolver_coincidencias(char *array_nombres[], char *nombre);
void visualizar(int contador);
//Main
int main()
{
int contador;
char *array_nombres[] = {"pedro garcia","pedro","miguel"}; //Iniciacion de las cadenas
char *nombre = {"pedro"};
contador = devolver_coincidencias(array_nombres,nombre);
visualizar(contador);
}
//Funcion que devuelve el numero de coincidencias dentro del array de cadenas
int devolver_coincidencias(char *array_nombres[], char *nombre)
{
int a = 0; //Variable que se va moviendo por el array de cadenas
int contador = 0;
if(strlen(array_nombres
[a
]) == MAX_TAM
) //Compara el tamaño buscado con el de la cadena del array {
if(strcmp(nombre
,array_nombres
[a
]) == 0) //Compara las cadenas {
contador++; //Si son iguales, aumenta el contador
}
}
else
{
a++; //Sino va al siguiente elemento del array de cadenas
}
return contador; //retorna el valor del contador
}
//Funcion que visualiza el numero de cadenas repetidas en el array
void visualizar(int contador)
{
printf("La cadena esta repetida %d veces", contador
); }
Me sería de gran ayuda cualquier aporte. Gracias