2016-03-06 2 views
-2

У меня есть 2 функции, которые генерируют случайные числа (первая функция генерирует 5 случайных множеств, вторая функция только одна. Я называл srand (time (NULL)) в первом, и при этом мне не нужно было повторять эту функцию во второй функции.rand()/srand() продолжает давать мне нуль

Проблема в том, что для второй функции я получаю нуль (первая функция прекрасна). Вот две функции (это фрагменты весь код, слишком долго, чтобы получить возможность отправлять все это, если вы, ребята, не должны были бы это, дайте мне знать)

Edit:. Я #included < CTime>, если вам интересно, так что это не проблема

.
int Winning_Numbers(int generated[]) 
{ 
    int amount = 5; 
    int winning_ticket = generated[amount]; 

    srand(time(NULL)); 

    for(int x = 0; x < amount; x++) 
    { 
     generated[x] = (rand() % 69) + 1; 

     while (generated[x] < 1 || generated[x] > 69) 
     { 
      generated[x] = (rand() % 10) + 1; 
     } 

     if (x > 0) 
     { 
      for(int check_number = 0; check_number < x; check_number++) 
      { 
       while (generated[x] == generated[check_number]) 
       { 
        generated[x] = (rand() % 10) + 1; 
       } 
      } 
     } 
    } 

    return winning_ticket; 
} 

int Powerball(int powerball_generated) 
{ 
    powerball_generated = (rand() % 26) + 1; 

    if (powerball_generated < 1 || powerball_generated > 26) 
    { 
     powerball_generated = (rand() % 10) + 1; 
    } 

    return powerball_generated; 
} 
+0

где вызов srand? – Pooya

+0

6-я линия. первая функция ^^ – n0de

+0

Как вы называете функции? – Nard

ответ

1

Ваш код имеет много маленьких проблем, но один вы спрашиваете о том, что в вашей main функции у вас есть

int powerball_number; 
Powerball(powerball_number); 

Здесь вы передаете значение powerball_number функции Powerball() как аргумент. Но то, что вы хотите сделать, это вернуть Powerball() значение и присвоить его переменной powerball_number. Поэтому вы должны написать

powerball_number = Powerball(); 

вместо этого. Также измените функцию Powerball() на

int Powerball() 

, так как это не нужно принимать аргумент вообще.

В качестве примечания, гораздо проще для ответчиков, если вы можете показать небольшой, но полный фрагмент кода, который показывает вашу проблему, прямо в вашем вопросе. Здесь ключ к вашей проблеме проявился только в фрагменте pastebin, ссылка на которую пряталась в одном из комментариев, и мне потребовалось некоторое время, чтобы найти.

+0

Спасибо за совет. Я буду иметь в виду будущие должности. – n0de