Cita:
Cuento bien los valores pero cuando si un número se repite 3 veces imprimo que sea ha repetido 3 veces, 3 veces en vez de 1 sola vez.Hacer un programa que diga cuantas veces aparece cada uno de los elementos de un array. El
programa ha de controlar que un número no se analice dos veces; por ejemplo, si hay un 3 en la
segunda posición y otro en la sexta, el programa ha de decir que el 3 aparece dos veces, pero sólo
cuando encuentra el que hay en la tercera posición, cuando encuentre el que hay a la sexta, no lo
tiene que evaluar. Sugerencia, utilizar un array auxiliar para ir guardando los elementos analizados.
programa ha de controlar que un número no se analice dos veces; por ejemplo, si hay un 3 en la
segunda posición y otro en la sexta, el programa ha de decir que el 3 aparece dos veces, pero sólo
cuando encuentra el que hay en la tercera posición, cuando encuentre el que hay a la sexta, no lo
tiene que evaluar. Sugerencia, utilizar un array auxiliar para ir guardando los elementos analizados.
No sé si me explico.
Código:
#include <stdlib.h> #include <stdio.h> #include <conio.h> main() { int T[10], i, c = 0, z, T2[10]; for (i = 0; i <= 9; i++) { printf ("Introduce %d\n", i); scanf("%d", &T[i]); } for (i = 0; i <= 9; i++) { for (z = 0; z <= 9; z++) { if (T[i] == T[z]) { c++; } } T2[i] = c; c = 0; } for (i = 0; i <= 9; i++) { printf ("%d ", T[i]); } printf ("\n"); for (i = 0; i <= 9; i++) { printf ("\n%d se repite %d veces\n\n", T[i], T2[i]); } getch(); }
La salida
En este caso debería de imprimir X se repite X veces dando 7 vueltas el bucle, no 10.
Gracias.