Algoritmia - Numeros aleatorios en C

 
Vista:

Numeros aleatorios en C

Publicado por m@ri@ (3 intervenciones) el 31/10/2004 03:27:55
Hola; sabe alguien como funcionan los números aleatorios en C?? necesito obtener varios números aleatorios entre 2 valores (x,y) dados por teclado (un nº aleatorio x cada paso d un bucle); el problema es q en cada paso del bucle siempre me sale el mismo valor, y sólo si vuelvo a pedir los valores (x,y) en cada paso del bucle, el nº aleatorio q obtengo es distinto....... pero esto es muuu xapuzero!! ayudadme!!
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 Alejandro

Números aleatorios en C

Publicado por Alejandro (307 intervenciones) el 01/03/2024 21:19:14
M@ri@, en C, para generar números aleatorios, puedes utilizar la función `rand()` de la biblioteca estándar `stdlib.h`. Sin embargo, para obtener secuencias de números realmente aleatorios en cada ejecución, es recomendable inicializar la semilla usando la función `srand()` con un valor diferente cada vez. Puedes utilizar la función `time()` para obtener un valor de tiempo actual como semilla.

Aquí hay un ejemplo de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main() {
    // Semilla inicializada con el tiempo actual
    srand((unsigned int)time(NULL));
 
    int x, y, numeroAleatorio, paso, cantidadNumeros;
 
    printf("Ingrese el valor de x: ");
    scanf("%d", &x);
 
    printf("Ingrese el valor de y: ");
    scanf("%d", &y);
 
    printf("Ingrese la cantidad de números aleatorios a generar: ");
    scanf("%d", &cantidadNumeros);
 
    for (paso = 0; paso < cantidadNumeros; paso++) {
        // Genera un número aleatorio entre x e y
        numeroAleatorio = rand() % (y - x + 1) + x;
 
        // Imprime el número aleatorio
        printf("Número aleatorio: %d\n", numeroAleatorio);
    }
 
    return 0;
}

Este programa solicitará al usuario los valores de `x` e `y` y la cantidad de números aleatorios a generar. Luego, utiliza la función `rand()` para generar números aleatorios en el rango especificado. Recuerda inicializar la semilla con `srand()` utilizando el tiempo actual para obtener secuencias realmente aleatorias en cada ejecución del programa.
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