tengo una duda con respecto a este programa necesito que haga lo siguiente
que sea digitada una serie de numeros por teclado y que finalize cuando el usario digite -1
cuando -1 sea digitado la visulizacion siguiente se tendra asi
1
1
1
2
2
4
1000
-1
numero 1 se ha repetido 3 veces
numero 2 se ha repetido 2 veces
numero 4 se ha repetido 1 vez
numero 1000 se ha repetido una vez
hasta el momento tengo asi pero no se como hacerle que me imprima eso al final
mi codigo esta asi
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num[1001],i,j,cont=0;
printf("digite numeros del 1 al mil si digita -1 saldra del programa\n");
for(i=0;num[i-1]!=-1;i++){
scanf("%d", &num);
}
for(j=0;j<num;j++){
cont++;
}
if(num==j){
cont++;
}
printf("el numero %d esta repetido %d veces en el vector", i,cont);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define LENGTH 1001
int num[LENGTH];
int main()
{
for(int dato=0 ; dato!=-1 && dato<LENGTH; )
{
printf("Intoduzaca numero= ");
scanf("%d",&dato);
++num[dato];
printf("El numero %d ha sido introducido %d", dato, num[dato]);
}
return EXIT_SUCCESS;
}
No entiendo el porque de la ultima parte del numero mil
en si el vector osea tiene q ser hasta 1000 osea por ejemplo si yo digito unas 4 veces el mil me tiene q salir el numero mil se ha repetido 4 veces pero si ya digito otros numeros como por ejemplo el 2000 ya no debe leer ni salirme nada solo tiene q ser hasta ahi
Umm con un break bastara, no lo he probado pero debe funcionar, ni lo he compilado.
#include <stdio.h>
#include <stdlib.h>
#define LENGTH 1001
int num[LENGTH];
int main()
{
int dato;
while(1)
{
printf("Intoduzaca numero= ");
scanf("%d",&dato);
if(dato==-1 || dato>=LEGTH)
break; //salgo del while infinito y no imprimo nada el programa termina
++num[dato];
printf("El numero %d ha sido introducido %d", dato, num[dato]);
}
return EXIT_SUCCESS;
}