-2
6桁の数字を生成する関数に問題があります。C++で6桁の数字を生成
void generateNumbers(int &len, int arr[]) {
srand(time(0));
cout << "How many numbers to generate: ";
cin >> len;
if (len <= 0 || len > 100) {
cout << "\n Chose number between 1 - 100\n";
generateNumbers(len, arr);
} else {
cout << "\n\nThe numbers: \n";
for (int i = 0; i < len; i++) {
arr[i] = (rand() % 999999) + 100000;
cout << endl << arr[i];
}
}
}
私は999999 + 100000が間違っているのrand()%にpobably知っている:プログラムは番号を生成しますが、彼らは常に1 Six digit numbers
で開始し、問題になる部分をthatsのように思えますしかし私はdifferendの方法を試してみて、どれも働いていませんでした。前もって感謝します!
あなたが唯一 'ランドを(DUEする必要があります)%900000 + 100000' –
を6桁の番号000000です?または、最初の6桁の数字は100000ですか?後者の場合、0から899999までの乱数が必要で、そのオフセットを加算します。 –
@MartinBonner間違っているのは、それが包括的であるために '900000'です –