Cómo escribir un programa para encontrar la frecuencia de la presencia de un elemento en una matriz en C ++

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

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)

El programa requerido es:

#include

int main()

{

int arr[100], freq[100];

int size, i, j, count;

/*

* Read size of array and elements in array

*/

printf("Enter size of array: ");

scanf("%d", &size);

printf("Enter elements in array: ");

for(i=0; i

{

scanf("%d", &arr[i]);

freq[i] = -1;

}

/*

* Counts frequency of each element

*/

for(i=0; i

{

count = 1;

for(j=i+1; j

{

if(arr[i]==arr[j])

{

count++;

freq[j] = 0;

}

}

if(freq[i]!=0)

{

freq[i] = count;

}

printf("\nFrequency of all elements of array : \n");

for(i=0; i

{

if(freq[i]!=0)

{

printf("%d occurs %d times\n", arr[i], freq[i]);

}

}

return 0;

}

Consulte este enlace para obtener ayuda sobre C, C # o C ++

KnowledgeTPoint: Tutoriales gratuitos de base de conocimiento

More Interesting

¿Cuál es el significado del peor tiempo de ejecución de un algoritmo?

¿Alguna vez has usado los algoritmos que has aprendido en la universidad?

¿Cómo puedes visualizar algoritmos?

¿Cuál es la diferencia entre consultas DNS iterativas y recursivas?

¿Cómo puedo evitar las técnicas de fuerza bruta?

¿Qué algoritmos se utilizan para el proceso de aprendizaje automático de Yandex?

¿Cómo manejan las personas el error de profundidad de recursión máxima excedida sin reescribir el código de forma iterativa? (en la programación dinámica de arriba hacia abajo)

Cómo demostrar que en cada árbol de búsqueda binaria n-nodo hay exactamente n-1 rotaciones posibles

¿Es posible aprender estructuras de datos y algoritmos en un mes?

Cómo imprimir espacio para los elementos de la matriz

¿Qué debo hacer para autoaprendizaje de ciencias de la computación con interés en inteligencia artificial y ciencias de la computación teóricas?

Estoy tomando un curso en línea, Algorithms Part 1 de Sedgewick y Wayne en Coursera. Conozco bastante a Java, pero me llevó más de un día llegar a la mitad de la resolución de la primera tarea de programación. ¿Debería dejarlo? ¿Todos sienten lo mismo mientras aprenden sobre algoritmos?

Dada una serie de dígitos, ¿cómo los clasifica con la complejidad temporal o (n)?

¿Cuál es la diferencia entre el orden de fusión de arriba hacia abajo y el de fusión de abajo hacia arriba?

¿Cuál es la diferencia entre los algoritmos de Dijkstra, Kruskal y Prim?