-3

有什么想法吗?
(完成)我想在我的字符串中搜索一个特定的词
(完成)如果找到那个词
(任何想法)我想输出向量的数量,它是其中的词。

我这里有这个字符串模块[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 回答