Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/05/2014, 04:34
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Contar repeticiones de letra?

pues tendras que usar tantos acumuladores como letras haya ya que las quieres contar por separado.
int contador[tamañoAbecedario];
si abc[0]==palabra[0] contador[0]A++
si abc[0]==palabra[1] contador[0]A++
si abc[0]==palabra[2] contador[0]A++
si abc[0]==palabra[3] contador[0]A++

El mismo indice de abc[i] es el de tu contador[i] en el bucle for ;)

pero la cosa es que si tienes varias palabras vas a tener que que apañar algún sistema como una estructura que creo que seria mejor.
En cada estructura tendrias a una palabra si las quieres mostrar las letras por separado son contadores por separado.
En fin sera un un pedazo de curro. XD Muy bueno para practicar vamos.
yo haría así:
pediría una frase
Luego intentaría dividir la frase en palabras y meterlas cada una en su estructura.
Después es cuando pasaría cada palabra/estructura por los bucles para contar
y al final mostraría una lista con cada palabra y la cantidades de cada letra que contiene
Pero es un curro como dije jeje
Es que son varias palabras y cada una vas a tratar por separado asi que... -_-'

"sopa caliente"
la estructura seria algo asi:
struct Palabra{
string suPalabra;
int contador[];
} estructura 1, estructura 2;

sopa a estructura 1
caliente a estructura 2

todo eso de estoy enseñando de forma manual pero en realidad tendras que hacer de forma automatica ya que ni sabes la cantidad de palabras que vas a tener.

Es todo un proyectillo -_-'
Pero perfecto para practicar c++

Por cierto... un string es una cadena de caracteres.
es solo crear un puntero a la primera letra y tendras una cadena de chars no se si me explico...

string palabra = "Hola";
char *pPalabra = &palabra[0];
o
const char * pPalabra = palabra.c_str();

Luego usas pPalabra como si de un char pPalabra se tratara.

Un array no es mas que un puntero a la primera posición a una cadena de caracteres y justo eso es lo que es un string.
si ya tienes un string solo te falta apuntar al primer carácter como te dije ;) en la misma estructura puedes hacer dicho puntero si lo necesitas.

Última edición por vangodp; 31/05/2014 a las 04:47