Для небольшой программы, которую я запускаю, я использую функцию 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);
}
Каждая итерация другой массив случайных чисел, но когда я снова запустить код, массивы являются такими же, как и раньше, так что я получаю тот же самый процент
Посмотрите 'srand' –
Вам необходимо показать нам код, который вы написали, чтобы сделать это. Мы не можем вам помочь, если мы не знаем, что вы сделали. – Sterls