C++で動的な記憶域の確保をして、乱数を発生させ、各要素に数値を格納し、表示するということをしているのですが、乱数が重複してしまった際のチェックをする方法が分からないです。
```ここに言語を入力
コード
##### #include<iostream> ###### #include<cstdlib> ###### #include<cstring> ###### #include<ctime> using namespace std; int main(){ int i, n; int*p;//記憶域を扱う変数として、ポインタ*pを用意 cout << "何個記憶しますか" << endl; cin >> n; p = new int[n]; //int型n個分の記憶域を確保 //記憶域の確保に失敗した場合、メッセージを表示して終了 if (p == NULL){ cout << "記憶域の確保に失敗しました。" << endl; return 1; } srand((unsigned)time(NULL)); rand(); i = 0; while (i < n){ p[i] = 1 + (int)((double)rand() / (RAND_MAX + 1.0) * 75); cout << "p[" << i << "]の値" << p[i] << endl; i++; } delete[] p; return 0; }
回答2件
あなたの回答
tips
プレビュー