Bueno, lo primero informarte de que lo pides en C++ pero tu programa tiene una pinta de C que no puede con ello...
Y lo segundo que para futuras consultas coloca tu código entre etiquetas de Código GeSHi porque sino se dificulta mucha la lectura de éste... Gracias.
Tu código digamos que hace lo siguiente:
#include <stdio.h>
#include <stdlib.h>
main(){
int numero[10],size,contador=0,i=0; // Declaras el array de 10 elementos y un par de variables mas... De momento no va mal aunque... La funcion es: int main() ya que devuelve un int
printf("Introduzca la cantidad de numeros(hasta un maximo de 10): "); // Pides el numero de elementos a guardar
scanf("%i",&size); // Y lo guardas en size... Bien
for (i=0;i<size;i++){ // Recorres el array hasta size y pides un valor para cada posicion
printf("Numero %i: ",i+1);
scanf("%i",&numero[i]); // AQUI SUPONGO QUE USAS EL INDICE i AUNQUE COMO PUEDES VER EN TU MENSAJE NO SE VE POR NO USAR ETIQUETAS DE CODIGO GESHI
}
// A partir de aqui es cuando ya tu programa pierde el sentido...
for (i=0;i<size;i++){
if (numero==size){
contador++;
}
printf("%i %i\n",numero,contador);
}
// No te recomiendo usar system("pause")... Es una mala practica.
// Para C++ (el de verdad...) lo recomendable es usar cin.get() que pertenece al archivo de cabecera <iostream>
// Para tu C++ (que es practicamente C) lo recomendable es usar getchar() que pertenece a <stdio.h>
system("Pause");
return 0;
}
Bueno pues te voy a dar una solución intentando que sea fácil de entender (ya habrá tiempo de hacerla más eficiente una vez entendido el procedimiento). Imagina que tienes un array con valores y te piden saber cuántas veces se repite un número concreto x... Fácil:
int contador = 0;
for(int i = 0; i < size; ++i)
if(numeros[i] == x)
++contador;
Y ya estaría. El problema en tu caso es que no sabes cuántos valores tienes que buscar de antemano por lo que una posible solución es crear un par de arrays auxiliares:
En uno de ellos guardarás cada uno de los valores introducidos pero sólo una vez. Es decir si se introduce {1,2,3,2,3,1,3,2,4,1,2,4,1} tu array auxiliar guardará {1,2,3,4} y así puedes saber qué valores tienes que buscar.
El otro guardará cuántas veces está cada uno. Para el ejemplo anterior quedaría {4,4,3,2}, es decir, 4 veces el 1, 4 veces el 2, 3 veces el 3 y 2 veces el 4.
Creo que una buena forma de hacerlo (simple pero sin tener que recorrer todos los arrays 50 veces sería):
numeros : array de longitud 10
valoresUnicos : array de longitud 10 // ya que en el peor de los casos habra 10 elementos diferentes
sizeValoresUnicos := 0 // Numero de elementos introducidos en valoresUnicos
indiceValoresUnicos := 0 // indice para recorrer el array de valoresUnicos y a veces utilizado para el array contadores. Lo puedes ver mas abajo
contadores : array de longitud 10 // igual que antes para el peor de los casos en el cual quedaria {1,1,1,1,1,1,1,1,1,1}. IMPORTANTE: debe estar inicializado a 0
PEDIR size
PARA i := 0 HASTA size-1 HACER
PEDIR numeros[i]
// Buscamos si ese valor ya esta en valoresUnicos y sino lo metemos
indiceValoresUnicos := 0
MIENTRAS indiceValoresUnicos < sizeValoresUnicos && valoresUnicos[indiceValoresUnicos] != numeros[i] HACER // IMPORTANTE: las condiciones en ese orden o te dara problemas
indiceValoresUnicos := indiceValoresUnicos + 1
FIN MIENTRAS
// Cuando salimos de ese bucle tenemos que comprobar cual ha sido la condicion que ha hecho salir
SI indiceValoresUnicos == sizeValoresUnicos ENTONCES // Si hemos llegado hasta el final significa que no lo hemos encontrado
valoresUnicos[indiceValoresUnicos] := numeros[i] // Entonces lo metemos
contadores[indiceValoresUnicos] = 1; // y guardamos que ya tenemos una vez ese valor
sizeValoresUnicos := sizeValoresUnicos + 1 // y este array ya tiene 1 elemento mas
SINO // En cambio si no hemos llegado hasta el final significa que si lo hemos encontrado. Entonces incrementamos en 1 el numero de veces que ha salido ese valor
contadores[indiceValoresUnicos] := contadores[indiceValoresUnicos] + 1
FIN SI
FIN PARA
Ahora tienes que entender el algoritmo y una vez lo hayas entendido tienes que pasarlo a C/C++ ya que como puedes ver no he usado la sintaxis de estos lenguajes. Si entiendes cómo funciona, traducirlo resulta muy sencillo.
Si tienes alguna duda o algo no te funciona, siempre puedes preguntar pero recuerda utilizar las etiquetas para facilitarnos la lectura de tu código.