C/Visual C - Duda

 
Vista:
sin imagen de perfil

Duda

Publicado por Musiker81 (14 intervenciones) el 26/08/2007 20:37:37
Hola a todos nuevamente. ¿Qué habría que añadirle a este programa para que mostrara todos los números que se repitieran (en el caso de que se repitan), y el numero de veces que se repiten?
Hasta ahora, sólo he podido hacer que muestre si se repite un único número, sólo en el caso de que se repita una vez y sólo si su repeticion está a su lado, no en cualquier otra posición de la secuencia de números. Muchas gracias.

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main(void)
{

int i, n=0;
int *v;

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\n Los %d numeros generados son:", n);

for (i=0; i<n; i++)
{
fflush(stdin);
printf(" %d", (v[i] = rand() % 37));

}

for (i=0;i<n;i++)
{
if ((v[i])==(v[i+1]))
{
printf ("\n\n\n El numero %d se ha repetido 1 vez", v[i]);
}
}
} //MAIN
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda

Publicado por NeoMitnick (11 intervenciones) el 27/08/2007 13:28:27
Una solución sería así

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main(void)
{

int i, n=0;
int *v;
int x,j;

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\n Los %d numeros generados son:", n);

for (i=0; i<n; i++)
{
fflush(stdin);
printf(" %d", (v[i] = rand() % 37));

}

//Aquí empezamos a contarlos
for (i=0;i<n;i++)
{
x=0; //x tendrá el n´çumero de repeticiones
for (j=0;j<n;j++)
{
if ( v[i]==v[j] && i!=j )
{
x++; //i tiene que ser diferente de j por que si no su aparición en el arreglo contaría como repetición
}
}
printf("El número %i se ha repetido %i veces\n",v[i],x);
}

} //MAIN

Espero que ya haya quedado... tu eras el de la ruleta verdad ? No contesté antes por que parecía que querías que se te hiciera el programa, así con esto que ya llebavas hecho me parece más correcto preguntar una duda concreta que preguntar, cómo hago un progra así y azado... es decir primero se debe de intentar :P espero que te haya servido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar