По сути, мне дали файл данных, который содержит 100 слов, и моя задача - запрограммировать искатель анаграмм, чтобы найти анаграммы в файле данных. Как только анаграмма найдена, я пытаюсь написать код для вывода слова из файла данных.
Мне удалось отсортировать строки в алфавитном порядке для сравнения, и я сделал оператор if, чтобы сказать, совпадает ли текущее слово с исходной строкой, а затем распечатать слово.
Я прошу прощения, если этот вопрос звучит запутанно, я застрял в этом на несколько дней, и я не могу обернуться вокруг этого вообще.
string FindAnagram(string originalString) {
string currentWord;
string localString;
localString = originalString + currentWord;
ifstream dbFile;
dbFile.open(cDATAFILE);
while(!dbFile.eof()){
getline(dbFile, currentWord);
sort (currentWord.begin(), currentWord.end());
sort (originalString.begin(), originalString.end());
if(currentWord == originalString){
cout << "\n\t Anagram of the current word: " << localString << endl;
}
else {
cout << "\n\t No anagram available." << endl;
}
}
dbFile.close();
return currentWord;
}
Например, если currentWord имеет значение «alert», он будет считывать файл данных и распечатывать слова, являющиеся анаграммой слова «alert», но я изо всех сил пытаюсь заставить его распечатать слово в файле данных. .
Например, ожидается, что будет напечатано «позже», но вместо этого будет напечатано «предупреждение».
Заранее спасибо.