我需要选择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++代码。 –