Para generar numeros aleatorios primero llamas a srand() con algun parametro(entero sin signo). Segun ese parametro srand() genera una lista de numeros aleatorios que despues puedes ir rescatando con rand(). Para siempre generar una lista de numero distintos se le pasa como parametro la hora, para eso la funciona time(). Los numeros que se generan estan en el rango 0-RAND_MAX, asi que tienes que manejar un poco el numero aleatorio para obtenerlo en un rango, lo que hice yo fue aplicarle modulo al rango+1, y despues le sumo el minimo. Por ejemplo para obtener numeros entre 15 y 20 tomas un numero con rand(), le aplicas mod 6(20-15+1) y asi siempre obtienes 0,1,2,3,4 o 5, y le sumas 15. Como veras 15+0=15 y 15+5=20, el rango de numero:o
En C:
#include <stdlib.h>
#include <stdlib.h>
#include <time.h>
#define MIN 15
#define MAX 20
#define N 5
int main()
{
int i;
srand((unsigned int)time(0));
for(i=0;i<N;i++)
printf("%dn",(rand()%(MAX-MIN+1))+MIN);
return 0;
}
Si lo quieres en C+-:P
#include <iostream>
#include <cstdlib>
#include <ctime>
#define MIN 15
#define MAX 20
#define N 5
using namespace std;
int main()
{
srand((unsigned int)time(0));
for(int i=0;i<N;i++)
cout<<(rand()%(MAX-MIN+1))+MIN<<endl;
return 0;
}