23.1.05

Contar caracteres de una frase

Saludos.

Este ejercicio se propuso para que los alumnos repasaran sus conocimientos de manejo de cadenas en C. El objetivo es introducir una frase en la línea de comandos. El programa devolverá el número de veces que se repite cada una de las letras en la frase.

Próximamente más.


#include "stdlib.h"
#include "string.h"

// Variables globales;
char caracteres[29];
int car_index = 0;
int repeticiones[29];

// Prototipos
void incCaracter(char caracter)
{
int pos = -1;
int i;

for (i=0; i< car_index; i++)
if (caracteres[i] == caracter)
pos = i;

if (pos == -1) {
//car_index++;
caracteres[car_index] = caracter;
repeticiones[car_index] = 0;
pos = car_index;
car_index++;
}

repeticiones[pos] ++;
}

//-----------------------------------------------------
int main(int argc, char *argv[])
{
char cadena[255];
int i = 0;

if (argc < 2) {
printf("Parámetros insuficientes. \n");
return -1;
}
strcpy(cadena, argv[1]);

while (cadena[i] != '\0')
{
incCaracter(cadena[i]);
i++;
}

printf("Estadísticas de <%s>: \n", cadena);
for (i=0; i < car_index; i++)
printf("%c : %i \n", caracteres[i], repeticiones[i]);

return 0;
}



No comments: