나는 동의어 퍼즐을 연구 중이며, 단어를주고 단어의 길이가 주어지면 동의어를 찾고 싶어한다. 모든 것은 정상적으로 작동하지만 순서대로 수행됩니다. 단어가 임의로 나타나지 않습니다. 그럴 수없는 임의의 숫자의 k
번호가 필요합니다. 여기에 내 코드입니다 : 당신이 볼 수 있듯이반복되지 않는 난수
#include<iostream>
#include<string>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
const int k=4;
string word[k]={"furious","tiny","untrue", "humorous", "harm"};
string nword[k]={"angry","small","false", "funny", "damage"};
string j;
int point, p = 0;
int ctr=0;
srand(time(NULL));
int randNum = (rand() % k) + 0;
for(int i=0; i<k; i++)
{
cout << nword[i] << "\n";
cout << "The length of the word: " << word[i].length() << "\n";
cin>>j;
ctr++;
if(j==word[i])
{
cout<<"Correct! Score: " << i+1 << " point." << "\n\n";
}
else
{
cout<<"Wrong"<<endl;
}
}
return 0;
}
이 변수 randNum
가 k로 0에서 임의의 숫자의 값을 유지 (k는 0과 결합, 4, 내가 5 개 단어를 가지고). for 루프에서 단어와 단어를 nword[randNum]
및 word[randNum]
과 같이 설정하면 결과가 많이 남습니다. 첫째, 두 단어 (단어 및 단어)에 동기화가없는 것 같습니다. 그것은 두 개의 다른 난수를 적용 할 것이고 (나는 잘못되었을 수도 있습니다) 두 번째는 반복적입니다. 위에서 볼 수 있듯이 실행은 점수 기반이고 완료 가능하므로 k
에 도달 할 때까지 반복되지 않는 질문이 필요합니다.
루프를 사용하여 a가, 확인 – Li357
하나 좋은 점은 무엇 번호를 기억하는 것입니다 당신이 그 (것)들을 건너 뛰어 얻을 때. –
@AndrewL. 수학적으로 가능한 무한 루프에 갇히게됩니다. –