-3

これについて何かアイデアはありますか?
(DONE)文字列で特定の単語を検索したい
(DONE)その単語が見つかった場合
(ANY IDEAS)その単語に含まれるベクトルの数を出力したい。

私はここにこれを持っていますstringmodules[MODULENO + 1] = {""、 "Maths"、 "Sciences"、 "French"、 "English"}; この文字列で単語を検索します。その単語を見つけます。必要なのは、中にあるベクトルの番号を出力することです。英語を検索しているとしましょう。その単語を見つけました...今は出力したい((モジュール英語はベクトル4にあります))

前もって感謝します

4

2 に答える 2

1

私はあなたの他の質問への受け入れられた答えからこのコードをコピーしました:

bool checkValidTitle(string modules[], string word_to_check)
{
  for (int i = 1; i <= MODULENO; ++i)
    if (modules[i] == word_to_check)
       return true;
  return false;
}

ブール値の代わりに数値インデックスが必要な場合は、関数の戻り値の型とreturnステートメントを変更します。

int getModuleNo(string modules[], string word_to_check)
{
  for (int i = 1; i <= MODULENO; ++i)
    if (modules[i] == word_to_check)
       return i;
  return -1; // some magic value to indicate "not found"
}

この関数を使用するための可能な方法は次のとおりです。

string word = "English";
int index = getModuleNo(modules, word);
std::cout << "Module " << word << " is number " << index << '\n';
于 2012-07-30T15:57:42.873 に答える
0

std :: findを使用して要素を検索し、std::distanceを使用して要素のインデックスを計算する必要があると思います。

于 2012-07-30T15:06:58.017 に答える