我需要選擇m個隨機字符(字母)而沒有重複,我完全卡住了,我只收到1個隨機字母。我如何修復我的代碼?有沒有什麼方法可以解決這個問題,或者我應該放棄這個想法並尋找一些kinf od教程的解決方案?選擇無重複的隨機字符C++
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <string>
using namespace std;
int main()
{
cout << "number below 27" << endl;
int m;
cin >> m;
srand(time(NULL));
bool repeat = false;
char letters[m];
char letter;
for(int i = 0; i < m; i++){
letter = rand()%26 +97;
repeat = true;
for(int j = 0; j < m; j++){
if(letters[m] == letters[j]){
repeat = false;
break;
}
}
if(repeat){
letters[m] = letter;
}
}
for (int i = 0; i < m; i++){
cout << letters[m];
}
}
'char letters [m];'VLAs不是標準的C++。使用'std :: vector(m);'代替。 –
多數民衆贊成我們是如何被要求解決這個問題,而我們學習的C++ – BigPaws
bacics好吧,如上所述,它不是標準的C++代碼。 –