Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2012, 14:31
Taxi23
 
Fecha de Ingreso: junio-2008
Mensajes: 27
Antigüedad: 15 años, 11 meses
Puntos: 0
Contar elementos de un array

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.