[英]C++ Array of random numbers
我對此有點問題。 我試圖創建一個 function 來返回一個隨機數並將其傳遞給數組,但由於某種原因,生成的所有數字都是“0”。
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
int generLosNum(int);
int main()
{
srand(time(NULL));
int LosNum;
const int rozmiar = 10;
int tablica[rozmiar];
for(int i=0; i<rozmiar; i++)
{
tablica[i] = generLosNum(LosNum);
cout << tablica[i] <<" ";
}
return 0;
}
int generLosNum(int LosNum)
{
int LosowyNum;
LosowyNum = (rand() % 10);
return (LosNum);
}
將您的方法generLosNum
更改為以下內容,將方法簽名更改為int generLosNum()
,它應該可以工作。
int generLosNum()
{
return (rand() % 10);
}
原因:正如其他人在評論中也提到的那樣,您只是返回作為參數傳入的數字,而且此方法的邏輯甚至不需要參數。
所以你的int generLosNum(int LosNum)的回報是打印 0 因為你有它返回 LosNum 被初始化為零。 我更改了您的代碼,因此它可以正常工作並打印出 10 個隨機數。
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
int generLosNum();
int main()
{
srand(time(NULL));
int LosNum = 0;
const int rozmiar = 10;
int tablica[rozmiar];
for (int i = 0; i < rozmiar; i++)
{
tablica[i] = generLosNum();
cout << tablica[i] << " ";
}
return 0;
}
int generLosNum()
{
int LosowyNum;
LosowyNum = (rand() % 10);
return LosowyNum;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.