2016-06-05 3 views
-2

Для небольшой программы, которую я запускаю, я использую функцию rand() для предоставления чисел для массива из 23 целых чисел. Я обнаружил, что каждый раз, когда я запускаю код, он повторно использует те же самые числа, которые использовались ранее в массиве, поэтому я никогда не получаю разные результаты на каждой итерации. Как я могу исправить эту проблему?массив rand() не изменяется при каждом запуске кода

Редактировать: Код и эксперимент парадокса рождения. Этот парадокс гласит, что вероятность того, что вы разделите день рождения с кем-либо в комнате, заполненной 23 людьми, составляет 50%, но, естественно, большинство людей думают, что это намного меньше.

#include "stdio.h" 
#include "stdlib.h" 

#define interations 10 //number of repitition in the code for a more accurate percentage 
#define numppl 23 //number of people 

int main() 
{ 
    int inv; 
    float percent = 0, sum = 0; 
    int i, j, k; 
    int seq[numppl]; 

    for (inv = 0; inv < interations; inv++) 
    { 
     for (i = 0; i < numppl; i++) { 
      seq[i] = rand() % 365; //creates a random array of 'numppl' integers every iteration 
     } 

     for (j = 0; j < numppl; j++) 
     { 
      for (k = j + 1; k < numppl; k++) 
      { 
       if (seq[j] == seq[k]) //if any two number in the array match each other, increment sum by 1 
        sum++; 
      } 
     } 
    } 

    percent = (sum/interations) * 100; //divide the amount of arrays with numbers that match with the number of total arrays generated for a percentage 

    printf("Chance of two people sharing the same birthday is %f percent", percent); 
} 

Каждая итерация другой массив случайных чисел, но когда я снова запустить код, массивы являются такими же, как и раньше, так что я получаю тот же самый процент

+1

Посмотрите 'srand' –

+4

Вам необходимо показать нам код, который вы написали, чтобы сделать это. Мы не можем вам помочь, если мы не знаем, что вы сделали. – Sterls

ответ

1

То есть ожидаемый behavoiur из rand() , Вам нужно засеять генератор случайных чисел srand().

Смежные вопросы