C/Visual C - Tengo alguna duda facil de resolver

 
Vista:

Tengo alguna duda facil de resolver

Publicado por Saul (8 intervenciones) el 03/04/2001 13:18:53
Necesito acabar este ejercicio pero no se como, tengo que generar una tabla y llenarla a traves de un random entre 0 y 100 pudiendo haber repetidos. Después aceptar un numero y localizarlo mostrando el numero a buscar y las posiciones que ocupa. De no encontrarse, (mostrar un mensaje diciendo que no se ha encontrado. Modificar el algoritmo creando un segundo vector que tenga en las mismas posiciones en las que estaba en el primer vector, el numero que se ha buscado y el resto de posiciones que sean 0).*/

#include
#include
#include
#include
#define N 20
void main (void)
{
int v[20];
int i,num;
randomize();
clrscr ();
for (i=0; i=N-1; i++)
{
v[i]=random (100);
printf ("\n");
printf ("%d",v[i]);
}
printf("\n\nIntroduce un numero: ");
scanf("%d",&num);
for(i=0;i=N-1;i++)
{
if (v[i]==num)
printf ("\nNumero %d encontrado en la posicion %d",num,i);
}
getch ();
}
No se hacer lo que esta entre parentesis en el enunciado. Si alguien me ayuda se lo agradecere, porque soy novato y lo he dado mil vueltas sin conseguirlo. Si lo sabeis mandarme un e-mail a [email protected]
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:Tengo alguna duda facil de resolver

Publicado por Googol (255 intervenciones) el 03/04/2001 14:55:36
Debes retocar el último for, llevando una variable que diga el número de veces que se ha encontrado el número.
Si al salir del for esa variable tiene el valor 0, muestras el mensaje avisando que no se ha encontrado nunca.
Para la otra parte necesitas un segundo vector, que rellenas en ese mismo for. Total:
#include
#include
#include
#include
#define N 20
void main (void) {
// CAMBIO CAMBIO CAMBIO CAMBIO CAMBIO
int v[N];
int segundaParte[N];
int vecesEncontrado = 0;
// FIN CAMBIO
int i,num;
randomize();
clrscr ();
for (i=0; i=N-1; i++) {
v[i]=random (100);
printf ("\n");
printf ("%d",v[i]);
}
printf("\n\nIntroduce un numero: ");
scanf("%d",&num);
for(i=0;i=N-1;i++) {
// CAMBIO CAMBIO CAMBIO CAMBIO CAMBIO CAMBIO
if (v[i]==num) {
printf ("\nNumero %d encontrado en la posicion %d",num,i);
segundaParte[i] = v[i];
vecesEncontrado++;
}
else
segundaParte[i] = 0;
// FIN CAMBIO
} // for
// CAMBIO CAMBIO CAMBIO CAMBIO CAMBIO
if (vecesEncontrado == 0) printf("No se encontró ninguna vez");
// FIN CAMBIO
getch ();

}
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