Como no ha definido qué elemento es, supongo que es el alfabeto (char) y esto como su tarea de la escuela secundaria, por lo que un enfoque bastante directo sería iterar a través de su matriz e incrementar los elementos de una matriz que contiene frecuencia .
#include
- ¿Cuál es el algoritmo de clasificación menos eficiente?
- Slender: Las ocho páginas: ¿cómo funciona el algoritmo para el movimiento de Slender?
- Cómo ordenar la matriz de tipos primitivos en orden descendente en Java
- ¿Qué tan difícil sería para un novato la 'Introducción a los algoritmos' de Thomas H. Cormen?
- ¿Cuáles son las ventajas de las pilas en la estructura de datos?
usando el espacio de nombres estándar;
int main ()
{int freq [26];
para (int i = 0; i <26; i ++)
frecuencia [i] = 0;
char arr [100] = {‘W’, ‘r’, ‘i’, ‘t’, ‘e’, ’a’, ‘p’, ‘r’, ‘o’, ‘g’, ‘r’ , ‘a’, ‘m’, ‘t’, ‘o’, ‘f’, ‘i’, ‘n’, ‘d’, ‘t’, ‘h’, ‘e’, ’f’, ‘ r ‘,’ e ‘,’ q ‘,’ u ‘,’ e ‘,’ n ‘,’ c ‘,’ y ‘,’ o ‘,’ f ‘,’ p ‘,’ r ‘,’ e ‘ , ‘s’
, ‘e’, ’n’, ‘c’, ‘e’, ’a’, ‘n’, ‘e’, ’l’, ‘e’, ’m’, ‘e’, ’n’, ‘ t ‘,’ i ‘,’ n ‘,’ a ‘,’ n ‘,’ a ‘,
‘r’, ‘r’, ‘a’, ‘y’, ‘i’, ‘n’, ‘c’};
int arrlen = 62;
para (int i = 0; i <arrlen; i ++)
freq [toupper (arr [i]) – 65] + = 1; // toupper (arr [i]) – 65 salidas 0 para A, 1 para B
para (int i = 0; i <26; i ++)
cout << (char) (i + 65) << ":" << freq [i] << "\ n";
devuelve 0;
}
Aquí hay un pequeño ejercicio para usted, ¿qué pasa si desea contar cada carácter en el teclado? (Pista: hay 256 caracteres ASCII)
¿Qué pasa si sus elementos son números o datos arbitrarios? Su matriz de frecuencia tendría que ser enorme (Sugerencia, debe hacer una tabla hash o diccionario google para STL MAP)