Dev - C++ - Problema MUY RARO de codigo en C, ayuda porfavor

 
Vista:
sin imagen de perfil
Val: 60
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema MUY RARO de codigo en C, ayuda porfavor

Publicado por Patricio (25 intervenciones) el 02/04/2019 02:57:32
Escribi el siguiente codigo para ver un problema que tengo con obtener numeros random. Este codigo es super simple.
Por algun motivo, todos los numeros que me dan van en aumento absoluto, no importa cuantas veces los corra es el mismo, van en aumento los numeros.
Lo otro que quiero preguntar es que por algun motivo cuando corro programa random, siempre me dan el mismo valor aunque cierre el programa o reinicie el equipo, acaso se estan guardando los valores en la ram y ahi se quedan?

Estoy sumamente confundido.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>//Libreria tipica
#include<time.h> //libreria para el random
 
void funcion_aleatoria();
 
int main()
{
	funcion_aleatoria();
	//printf("numero al es: %d ",num);
    return 0;
}
 
void funcion_aleatoria(){
	int numero;
	srand(time(NULL));
	numero = 1 + rand() % ((1000+1) - 1);
	printf("el numero al es %i ",numero);
}
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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema MUY RARO de codigo en C, ayuda porfavor

Publicado por Alfil (1444 intervenciones) el 02/04/2019 07:35:16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <time.h>
 
int funcion_aleatoria();
 
int main()
{
    srand(time(NULL));
    for( int i = 0; i < 100; i++ )
        printf( "\nEl numero es: %i \n", funcion_aleatoria() );
 
    return 0;
}
 
int funcion_aleatoria() { return 1 + rand() % 1000; }
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
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema MUY RARO de codigo en C, ayuda porfavor

Publicado por Thanatos (199 intervenciones) el 02/04/2019 07:36:38
Necesitas incluir el header stdlib.h para usar srand() y rand(). La instrucción de la línea 15 debería estar antes de la llamada a funcion_aleatoria():

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>   // printf()
#include <stdlib.h>  // srand(), rand()
#include <time.h>    // time()
 
void funcion_aleatoria(void);
 
int main(void) {
    srand((unsigned) time(NULL));
    funcion_aleatoria();
    return 0;
}
 
void funcion_aleatoria(void) {
    const int numero = rand() % 1000 + 1;
    printf("El numero es: %i", numero);
}
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