所以我創建隨機值的彩票,然後分類整理。我不擔心分揀技術,因爲老師是不是找這個任務類等,以及但是它的工作原理,我生產我的票值 - 儘管使用函數srand(時間(0)),然後後來蘭特()%40 + 1 - 我認爲應該使我的隨機數在1-40之間...但mainTicket [0]總是等於0.任何想法?對格式的抱歉,讓我添加額外的空間,並搞亂我的注意力。問題與C++函數srand值
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void mainLotto (int main[]);
void lottoSort (int ticketArr[]);
int main()
{
int mainTicket[5];
srand (time(0));
mainLotto(mainTicket);
do
{
lottoSort(mainTicket);
} while (mainTicket[0] > mainTicket[1] || mainTicket[1] > mainTicket[2] || mainTicket[2] > mainTicket[3] || mainTicket[3] > mainTicket[4] || mainTicket[4] > mainTicket[5]);
for (int i = 0; i < 5; i++)
{
cout << mainTicket[i] << "\n\n";
}
return 0;
}
///
/// <> Creates the actual lottery ticket
///
void mainLotto (int main[])
{
// Creating the ticket
for (int i = 0; i < 5; i++)
{
main[i] = rand() % 40 + 1;
}
}
///
/// <> Sorts the actual lottery ticket
///
void lottoSort (int ticketArr[])
{
// Sorting the ticket
for (int j = 0; j < 5; j++)
{
if (ticketArr[j] > ticketArr[j+1])
{
int temp;
temp = ticketArr[j+1];
ticketArr[j+1] = ticketArr[j];
ticketArr[j] = temp;
}
}
}
'ticketArr [J + 1]'去出界 – Galik 2014-11-02 00:57:30
的只是一個提示需要進一步考慮:儘量限制自己的理智線長度像80左右,尤其是在你的代碼發佈到網上。 Focing讀者水平滾動是非常糟糕的魔咒。此外,適當的縮進(選擇常用樣式之一,如K&R)始終適用,這不僅在這裏,而且對您自己也很有幫助。 – Deduplicator 2014-11-02 01:09:57
我使用縮進的恆定形式,但我不縮進最重要的東西,這是我對編碼在這裏做。不過,我可以開始做這件事,以備將來使用,謝謝你的提示! – ldehart 2014-11-02 01:18:45