Я делаю код, вы создали список слов. Он содержит «слово» и «описание». Слово и описание имеют свои собственные векторы. Я тоже пытаюсь использовать карты.C++ Wordlist; найти целое описание в vector/map
Программа идет хорошо, пока я не попытаюсь найти слова. Программа будет использовать только последнее слово из описания. Есть ли способ сделать целое предложение для одного вектора?
Это код о том, как я записываю описание. Весь программный код очень долго, так что я буду упоминать только важные вещи:
cout<< "Describe your word:"; //Describtion by using vectors
cin>> desc; //Here you enter the decribtion
getline(cin, desc); //So you can have "space" and write a whole sentence.
d.push_back(desc); //Place the describe at the back of the list so it is at the same index as the matching word
И это код, который должен показать слово и Describtion:
cout<< "Enter a word to lookup:";
cin>> word;
if (find(o.begin(), o.end(), word) !=o.end()) //Lookup if word excist in vector
{
int pos = find(o.begin(), o.end(), word) - o.begin(); //Searches which index the word is in the vector
cout<< "Describtion for " << word << " is " << d[pos] << endl; //d[pos] takes the description vector that is in the same index as the word vector
}
else
cout<< "Word not found! Try something else." << endl; //If word not found
Это будет только принимать последнее слово из описания. У меня та же проблема, с помощью карт:
cout<< "Enter a word to lookup:";
cin>> word;
if (L.find(word) != L.end()) //Lookup if the key excist
{
cout<< "Describtion for " << word << " is " << L[word] << endl; //Tells what the description is for the word if it excist
}
else
cout<< "Word not found! Try something else." << endl; //Tells you this if key is not found
Итак, как я могу получить всю Describtion распечатанный для конкретного слова?
редактировать: Я заметил, что это только первое слово в Describtion Недостающий (я настолько глуп, чтобы не попробовать с большим количеством слов, чем 2)
Итак, что случилось? Как я могу получить слово frist в описании appere на выходе?
Выполняйте описания, которые вы протестировали, со всеми двумя словами? – molbdnilo
Хорошо, спасибо, что указали, что это похоже на то, что он пропускает только первое слово. – Supermixerman
Добавьте 'cout << desc << endl;' между всеми строками в вашем коде чтения. – molbdnilo