Foros del Web » Programación para mayores de 30 ;) » C/C++ »

cuantas letras se repiten

Estas en el tema de cuantas letras se repiten en el foro de C/C++ en Foros del Web. Hola! Estoy haciendo un programa en C y quiero contar cual es la letra que mas se repite dentro de un array. Exactamente, tengo un ...
  #1 (permalink)  
Antiguo 12/12/2010, 07:12
 
Fecha de Ingreso: julio-2008
Mensajes: 143
Antigüedad: 15 años, 9 meses
Puntos: 0
cuantas letras se repiten

Hola! Estoy haciendo un programa en C y quiero contar cual es la letra que mas se repite dentro de un array.
Exactamente, tengo un array de 7, i en cada array hay dos letras. No se como puedo hacer para saber cual es la letra que mas sale en todo el array, sabiendo que dentro dentro de cada array hay dos letras, y que si se repite esa letra cuenta solo por una, no por dos.

Ejemplo:

AA JT RR TA AL OP

La letra que deberia salir es A, con tres veces repetidas. Espero que me puedan ayudar. muchas gracias!
  #2 (permalink)  
Antiguo 12/12/2010, 09:23
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: cuantas letras se repiten

La forma mas simple seria hacer un array de 26 o 27 enteros (depende si esta la Ñ o no). Deberias recorrer tu array de a pares y vas sumando en la posicion que corresponde a cada letra.

No entendie muy bien como es eso de los 7 arraya con dos letras. Estan todas juntas o tenes muchos array. Podria mostrar como tenes los datos.
  #3 (permalink)  
Antiguo 12/12/2010, 10:05
Avatar de Munire  
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: cuantas letras se repiten

se me han ocurrido 2 cosas

1ª opcion

crear dos arrays (o uno de dos dimensiones) que uno sea cada letra del abecedario y el otro el contador correspondiente a cada letra:

char abc[2][28]
abc[0]={'a', 'b'............} fila 1
abc[1]={0, 0,..............} fila 2

luego se compara letra por letra y si coinciden se suma 1 al contador correspondiente.


2ª opcion

comparar letra a letra

creas un array que almacene los contadores de cada letra en la misma posicion que esta en el array que te dan

Código:
   A   A   J   T   R   R   T    A    A   L   O   P 
       A   A   A   A   A   A    A    A   A   A   A   se comparan todas con la primera (A)
       +1                       +1  +1                  hay tres coincidencias => A 3 
                                                              

   A   A   J   T   R   R   T    A     A     L   O   P 
   A        A  A   A  A   A     A     A    A   A   A   se comparan todas con la segunda (A)
  +1                              +1   +1                  hay tres coincidencias => A 3 

A   A   J   T   R   R   T  A   A   L  O   P
J   J        J    J    J    J   J     J  J   J   J
                                                          +0    J solo se repite 1 vez  (el array 
de contadores empiezan todos con 1)
el array de contadores quedara asi:

A , A , J , T...
{3, 3 , 1 , 2 , 2 .... }

solo queda buscar cual es el numero mayor. en este caso el 3
el 3 esta en la posicion contadores[0], la letra que buscamos estara en array[0]

va a haber varios 3 pero te da igual por que todos coinciden en posiciones de A




P.D: No me ha quedado muy claro cuantos arrays hay, primero dices que uno y luego que varios... podrias explicarlo mejor?

Etiquetas: letras
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:50.