簡體   English   中英

用指定范圍內的隨機數填充數組(C++)

[英]Fill array with random numbers within a specified range (C++)

我正在編寫代碼,用 0 到 9 范圍內的隨機數填充 10 個整數大小的數組。我的代碼可以工作,但它用完全相同的隨機 integer 填充所有 10 個插槽,有沒有辦法隨機化integer 每個數組項?

這是我的代碼:

#include <iostream>
#include <ctime>
#include <time.h> 

using namespace std;

void initialize(int arr[], int size);


int main(){


    const int SIZE = 10;
    int myList[SIZE];

    initialize(myList, SIZE);
    
    return 0;

}

void initialize(int arr[], int size){
    
    srand(time(0));

    int random = (rand() % 9);

    for(int i = 0; i < size; i++){

            arr[i] = random;
    }

    for(int j = 0; j < size; j++){
        cout<<arr[j]<< endl;
    }
}
 

您在每次初始化中使用完全相同的 integer 。 for循環應該是這樣的

    for(int i = 0; i < size; i++){

        arr[i] =  (rand() % 10);
     }

如果你想在范圍內包含 9,你也應該寫 %10。 基於隨機數生成公式。 隨機 = (rand() % (maxValue - minValue +1) +minValue;

 for(int i = 0; i < size; i++){

        arr[i] =  (rand() % 10);
     }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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