Duda sobre programa en C
Me gustaría que me ayudaran a solucionar esta que tengo sobre un programa en C, compilado con Borland C++ 4.5.
Este programa hace lo siguiente:
Genera una secuencia aleatoria de N números (supongamos que sale esta secuencia): 12, 5, 7, 5, 8 y cuenta las veces que aparece cada numero:
El programa mostraría lo siguiente:
El numero 12 aparece 1 veces
El numero 7 aparece 1 veces
El numero 8 aparece 1 veces
El numero 5 aparece 1 veces
El numero 5 aparece 1 veces
Pero necesito que muestre esto:
El numero 12 aparece 1 veces
El numero 7 aparece 1 veces
El numero 8 aparece 1 veces
El numero 5 aparece 2 veces
Aquí dejo el código:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
int main(void)
{
int i=0, n=0, suma=0;
int *v;
int x=0, j=0;
randomize();
printf("\n ***** N numeros 'aleatorios' ***** \n\n");
printf("\n ¿Cuantos numeros desea que se generen?: ");
scanf ("%d",&n);
fflush(stdin);
v = new int[n];
printf("\n\nLos %d numeros generados son:", n);
for (i=0; i<n; i++)
{
fflush(stdin);
printf(" %d", (v = rand() % 37));
}
getch();
//Aquí empezamos a contarlos
for (i=0;i<n;i++)
{
fflush(stdin);
x=0; //x tendrá el numero de repeticiones
fflush(stdin);
for (j=0;j<n;j++)
{
fflush(stdin);
if ( v==v[j] ) //Aqui se compara cada numero (v) con toda la secuencia completa aleatoria de numeros (v[j])
{
fflush(stdin);
x++;
}
}
fflush(stdin);
printf("\n\nEl número %d aparece %d veces\n",v,x);
}
} //MAIN
// "n" es el numero de numeros que el usuario
// "v" es el numero que sale cada vez
// "i" Si se pone antes del if, muestra la posición que ocupa cada numero (empezando desde 0)
// "x" es las veces que sale cada numero
// "v[j]" Es toda la secuencia completa de los números (si se pone antes del if)
// "j" Si se pone antes del if, muestra el numero de números (empezando desde el 0) que hay en cada secuencia
Este programa hace lo siguiente:
Genera una secuencia aleatoria de N números (supongamos que sale esta secuencia): 12, 5, 7, 5, 8 y cuenta las veces que aparece cada numero:
El programa mostraría lo siguiente:
El numero 12 aparece 1 veces
El numero 7 aparece 1 veces
El numero 8 aparece 1 veces
El numero 5 aparece 1 veces
El numero 5 aparece 1 veces
Pero necesito que muestre esto:
El numero 12 aparece 1 veces
El numero 7 aparece 1 veces
El numero 8 aparece 1 veces
El numero 5 aparece 2 veces
Aquí dejo el código:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
int main(void)
{
int i=0, n=0, suma=0;
int *v;
int x=0, j=0;
randomize();
printf("\n ***** N numeros 'aleatorios' ***** \n\n");
printf("\n ¿Cuantos numeros desea que se generen?: ");
scanf ("%d",&n);
fflush(stdin);
v = new int[n];
printf("\n\nLos %d numeros generados son:", n);
for (i=0; i<n; i++)
{
fflush(stdin);
printf(" %d", (v = rand() % 37));
}
getch();
//Aquí empezamos a contarlos
for (i=0;i<n;i++)
{
fflush(stdin);
x=0; //x tendrá el numero de repeticiones
fflush(stdin);
for (j=0;j<n;j++)
{
fflush(stdin);
if ( v==v[j] ) //Aqui se compara cada numero (v) con toda la secuencia completa aleatoria de numeros (v[j])
{
fflush(stdin);
x++;
}
}
fflush(stdin);
printf("\n\nEl número %d aparece %d veces\n",v,x);
}
} //MAIN
// "n" es el numero de numeros que el usuario
// "v" es el numero que sale cada vez
// "i" Si se pone antes del if, muestra la posición que ocupa cada numero (empezando desde 0)
// "x" es las veces que sale cada numero
// "v[j]" Es toda la secuencia completa de los números (si se pone antes del if)
// "j" Si se pone antes del if, muestra el numero de números (empezando desde el 0) que hay en cada secuencia
1 respuesta
Respuesta de davidelzar
1