rand () y srand () en C ++

¿Cuál es la base para generar números aleatorios en C ++?

¿Hay alguna lógica o principio detrás de eso?

¿Son los números generados completamente al azar?

Supongamos que estoy ejecutando este programa:

#include <iostream.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    /*
    Declare variable to hold seconds on clock.
    */
    time_t seconds;
    /*
    Get value from system clock and
    place in seconds variable.
    */
    time(&seconds);
    /*
    Convert seconds to a unsigned
    integer.
    */
    srand((unsigned int) seconds);
    /*
    Output random values.
    */
    cout<< rand() << endl;
    cout<< rand() << endl;
    cout<< rand() << endl;
    return 0;
}

Lo que muestra:http://img14.imageshack.us/img14/1538/98271820.png

Mostraba 205 dos veces.

Respuestas a la pregunta(2)

Su respuesta a la pregunta