Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: hocius en 9 Octubre 2010, 14:24 PM

Título: Programa funcion rand()
Publicado por: hocius en 9 Octubre 2010, 14:24 PM
Hola amigos. Estoy intentando crear el siguiente programa pero no me sale y quería pediros vuestra ayuda.

Tengo que hacer un programa que pida un número entero y positivo (N) i que devuelva un número aleatorio entre 0 i N.

Espero que me podáis ayudar.

Gracias!
Título: Re: Programa funcion rand()
Publicado por: fary en 9 Octubre 2010, 15:10 PM
utiliza unsigned al declarar la variable n y mirate la fucnion rand

http://msdn.microsoft.com/en-us/library/398ax69y%28VS.71%29.aspx

salu2!
Título: Re: Programa funcion rand()
Publicado por: hocius en 9 Octubre 2010, 18:40 PM
Cita de: Drinky94 en  9 Octubre 2010, 15:10 PM
utiliza unsigned al declarar la variable n y mirate la fucnion rand

http://msdn.microsoft.com/en-us/library/398ax69y%28VS.71%29.aspx

salu2!

Muchas gracias Drinky94!! Voy a provarlo!

Lh: No hagas doble post, utiliza el botón modificar.

He conseguido hacer funcionar el programa pero tengo un pequeño problema. Al introducir un número negativo no sale "error" y sale el random..

Este es el código:

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

int main()
{
unsigned int numero1;
int numero2;
printf("introdueix un numero sencer i positiu:");
scanf("%d", &numero1);
if (numero1<=0) printf("error");
else
numero2= rand () % (numero1+1);
printf("numero aleatori entre 0 i %d : %d \n", numero1, numero2);
system("PAUSE");
return 0;
}

Aver si me podeis ayudar, es un poco urgente! Gracias!

EDIT: Ya esta solucionado gracias!
Título: Re: Programa funcion rand()
Publicado por: cbug en 9 Octubre 2010, 20:49 PM
Con unsigned int, no podrás reconocer los números negativos.
Título: Re: Programa funcion rand()
Publicado por: hocius en 9 Octubre 2010, 22:30 PM
Cita de: cbug en  9 Octubre 2010, 20:49 PM
Con unsigned int, no podrás reconocer los números negativos.

Al final no use el unsigned! Muchas gracias a todos por las respuestas!