簡體   English   中英

C++ 隨機數數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM