C++ 如何在两个数组中存储生成的从1到500的数字

C++ 如何在两个数组中存储生成的从1到500的数字,c++,arrays,loops,for-loop,initializer-list,C++,Arrays,Loops,For Loop,Initializer List,我已经生成了从1到500的随机数,并希望存储在2个数组中,即Array1存储1到250个元素,Array2存储251到500个元素。两个阵列的大小都是250。我成功地存储在array1中,但未存储在array2中 我试过了,但循环是无限循环的 #define MAX 250 int a1[MAX], a2[MAX]; srand((int)time(0)); for (i = 0; i < 500; i++) { int c = (rand() % 500) + 1; i

我已经生成了从1到500的随机数,并希望存储在2个数组中,即Array1存储1到250个元素,Array2存储251到500个元素。两个阵列的大小都是250。我成功地存储在array1中,但未存储在array2中

我试过了,但循环是无限循环的

#define MAX 250
int a1[MAX], a2[MAX];
srand((int)time(0));

for (i = 0; i < 500; i++) {
    int c = (rand() % 500) + 1;
    if (i >= 0 && i < 250) {
        cout << "Array 1 ";
        for (j = 0; j < 250; j++) {
            a1[j] = c;
            cout << a1[j] << " ";
        }
    }
    if (i >= 250 && i < 500) {
        cout << endl
             << "Array 2 ";
        for (int k = 0; k < 250; k++) {
            a2[k] = c;
            cout << a2[k] << " ";
        }
    }

它不是无限循环;只是循环太多了

那是因为你把一个循环放在一个循环中,老兄


你根本不需要那些内部for循环。

它不是无限循环;只是循环太多了

那是因为你把一个循环放在一个循环中,老兄

您根本不需要这些内部for循环。

给您

#include <iostream>
#include <cstdlib>
#include <ctime>

int main()
{
    const size_t MAX = 250;
    int a1[MAX], a2[MAX];

    std::srand( ( unsigned int )std::time( nullptr ) );

    for ( auto a : { a1, a2 } )
    {
        for ( size_t i = 0; i < MAX; i++ ) a[i] = std::rand() % ( 2 * MAX ) + 1;
    }        
}
对于你的代码,然后是内部循环

for (j = 0; j < 250; j++) {

执行500次,因为它们包含在外部循环中

for (i = 0; i < 500; i++)
给你

#include <iostream>
#include <cstdlib>
#include <ctime>

int main()
{
    const size_t MAX = 250;
    int a1[MAX], a2[MAX];

    std::srand( ( unsigned int )std::time( nullptr ) );

    for ( auto a : { a1, a2 } )
    {
        for ( size_t i = 0; i < MAX; i++ ) a[i] = std::rand() % ( 2 * MAX ) + 1;
    }        
}
对于你的代码,然后是内部循环

for (j = 0; j < 250; j++) {

执行500次,因为它们包含在外部循环中

for (i = 0; i < 500; i++)

马克斯是什么?出示你的。代码对我有用:@LightnessRacesinOrbit MAX是数组的大小。我已定义最大值的大小为250。我无法重现您的错误,也无法看到此代码如何正确填充a1。您应该检查:和。最大值是多少?出示你的。代码对我有用:@LightnessRacesinOrbit MAX是数组的大小。我已经定义了最大值为250。我无法重现您的错误,也看不出此代码如何正确填充a1。您应该检查:和。鱼的分发很好!鱼的分发很好!