Program wypisuje te same liczby, zamiast losowych – dlaczego?

Program wypisuje te same liczby, zamiast losowych – dlaczego?
EX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0
Kopiuj
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
    int ile;
scanf("%d", &ile);
    int *arr = (int*)malloc(sizeof(int) * ile); // Dynamicznie rezerwuje miejsce w pamięci, zwraca wskaznik do now zajerejstrowanego miejsca w pamieci
    srand(time(NULL));
    for (int i = 0; i < ile; ++i)
    {

        arr[i] = rand() % 1000000;
        printf("%f\t", arr[i]);
    }
}

Gdzie jest bląd ? Program wypisuje te same liczby, zamiast losowych, Dlaczego ?

PanRiK
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
  • Postów: 104
0
Kopiuj
int arr = (int*)malloc(sizeof(int) * ile)

tak powinno być

Haskell
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4700
0

Musisz najpierw zainicjować to w ten sposób:

Kopiuj
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"

int main(void)
{
    srand(time(NULL)); // Initialise the random seed.
    printf("%d", rand());
    return 0;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.