Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/03/2016, 00:16
elignah
 
Fecha de Ingreso: marzo-2016
Mensajes: 7
Antigüedad: 8 años, 1 mes
Puntos: 0
Exclamación Ejercicio de vectores que no me sale. Quien me da una mano? soy nuevo

Que tal gente, soy nuevo en el foro. Resulta q me estoy iniciando en el tema de la programacion, estoy en lo mas basico, y me encuentro con este ejercicio:

Escribe un programa que lea diez enteros comprendidos entre 1 y 10, los almacene en
un vector y escriba por pantalla la cantidad de elementos de cada número que contiene.
Ejemplo: Dado el siguiente vector [2, 2, 2, 3, 3, 4, 4, 4, 7, 7]
La salida producida sería:
Existen 3 elementos del número 2
Existen 2 elementos del número 3
Existen 3 elementos del número 4
Existen 2 elementos del número 7


Que me esta complicando la vida. Les cuento, con mis escasos conocimientos, pude hacer este codigo que obviamente no me funciona, y quiero q me lo revisen a ver q es lo q falta, y que es lo que esta mal:

Código PHP:
#include <stdio.h>

int main (){

int vector[4];

int ijk;
int n 0;




printf("Escriba 4 numeros:\n");

for (
i=0;i<4;i++){

    
printf("Introduzca numero %i: "i+1);
    
scanf("%i", &vector[i]);
}

for(
k=0;k<4;k++){
    for(
j=k+1;j<4;j++){
        if (
vector[k] == vector[j]){
            
++;
            
           }

    }
}
for(
i=0;i<4;i++){
printf("Existen %i elementos del numero %i\n"nvector[i]));
}


system("pause");
return 
0;



CAMBIE EL NUMERO 10 a 4 para hacerlo mas corto al probarlo, pero la idea es la misma.

Les juro que no se cuantas horas ya estoy viendo de resolverlo y no puedo!
Busque ayuda en otro foro y me dieron este codigo, que funciona perfectamente, pero no lo entiendo! Intente de entenderlo con el debugger paso a paso pero no hay caso! es desesperante!!
Les dejo el codigo que funciona pero no entiendo (despues les especifico cuales son las partes que no entiendo):

Código PHP:
#include<stdio.h>
int main(){
    
int i,j,n,tem;
    
printf("Cuantos numeros desea introducir\n");
    
scanf("%d",&n);
    
int Array[n];
    for(
i=0;i<n;i++){
        
printf("Ingrese la cantidad No, %d\n",i+1);
        
scanf("%d",&Array[i]);
    }
    for(
i=0;i<n-1;i++){
        for(
j=0;j<n;j++){
            if(Array[
j]>Array[j+1]){ //NO ENTIENDO ESTA PARTE!  COMO UN NUMERO VA A SER MAYOR QUE ESE NUMERO +1??? No significa eso?
                
tem = Array[j];
                Array[
j] = Array[j+1];    //NO ENTIENDO ESTAS 3 LINEAS!! PARA QUE EL METODO DE LA BURBUJA!!???
                
Array[j+1] = tem;
            }
        }
    }
    
tem 1;
    for(
i=1;i<=n;i++){                //TAMPOCO ENTIENDO ESTAS 3 o 4 LINEAS!!
        
if(Array[i] != Array[i-1]){
            
printf("Existen %d elementos del numero %d\n",tem,Array[i-1]);
            
tem 1;
        }
        else
            
tem++;
    }
    return (
0);


Bueno espero que me puedan ayudar, para los que saben seguramente sea una boludez el tema, pero estoy muerto de ganas de aprenderlo y tengo que recurrir aca porque ya van varias horas que no me sale!

Muchas gracias!