Obtener numeros aleatorios en C++ (rand, srand)

Es algo muy frecuente, cuando ya dominas todo eso de pedir y almacenar datos, ahora tu profesor te pedirá que tus programas generen números aleatorios para automatizar el proceso de llenar arreglos y todo eso.

Así que lo primero que tenemos que hacer es incluir la librería:
#include<stdlib.h>
Luego inicializar los números aleatorios incluyendo esto:
srand(time(NULL));
Luego guardar el número aleatorio en alguna parte:
num=rand();

Eso es básicamente. Para ajustar el rango de número aleatorios podemos hacer varias cosas.

Número aleatorios entre 0 y 50:
num=rand()%51;

Número aleatorios entre 1 y 100:
num=1+rand()%(100-1);

Número aleatorios entre 250 y 420:
num=250+rand()%(420-250);

De forma general es:
variable = limite_inferior + rand() % (limite_superior - limite_inferior) ;

Así que un programa que muestre 10 números aleatorios entre 1 y 10 quedaría así:

#include<stdlib.h>
#include<iostream>
using namespace std;
 
int main()
{
    int num,c;
    srand(time(NULL));
    for(c=1;c<=10;c++)
    {
        num=1+rand()%(10-1);
        cout<<num<<" ";
    }
    cin.get();
}
  1. Dagoo dice:

    Hola… muy buen aporte.. solo me parece k he encontrado un pekeño error donde dice rango 1-100. creo k deberia ser
    num=1+rand()%99;
    segun la formula general propuesta
    variable = limite_inferior + rand() % (limite_superior – limite_inferior)
    ya que kedaria
    variable = 1 + rand()% (100-1);
    variable = 1 + rand()% 99;

  2. Dagoo dice:

    el programa si esta bien redactado, a lo ke me referia era a la explicacion abajito de : “Eso esa basicamente…etc etc etc etc”.. estas de acuerdo?

Deja tu comentario