C++ 随机数数组

C++ Array of random numbers

我对此有点疑问。我试图创建一个函数来 return 一个随机数并将其传递给数组,但由于某种原因,生成的所有数字都是“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) 的 return 正在打印 0 因为你有它 returning 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;
}