¿Por qué el número que me genera el rand() siempre es el mismo?

Iniciado por magodiesan, Marzo 19, 2018, 11:37:13 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Marzo 19, 2018, 11:37:13 PM Ultima modificación: Marzo 20, 2018, 02:37:58 AM por Gabriela


Estoy usando la librería stdlib de c++ para generar un número aleatorio con la función rand() pero resulta que cada vez que compilo me sale 41:
Código: cpp

#include <iostream>   
#include <stdlib.h>   
using namespace std;

int main() {

    int a = rand();
    cout<<a<<endl;

    system("pause");
    return 0;
}


Estoy aprendiendo C++ ahora y no sé que hago mal.

La función necesita una semilla (seed) para crear los número aleatorios a partir de ese valor. Lo más común en estos casos es que se use la hora actual del sistema como semilla para el generador. Solo agrega srand(time(NULL)) antes de llamar a la función rand()



Código: cpp
    
#include <iostream>   
#include <stdlib.h>
#include <ctime>
using namespace std;
     
int main() {
srand(time(NULL));
        int a = rand();
        cout<<a<<endl;
     
        system("pause");
        return 0;
    }
\x11\x12\x13