Buenas, tengo un ejercio hecho casi entero lo pongo por aquí
Cita: 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.
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.
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.