2012-07-30 32 views
-3

對此有何想法?
(完成)我想搜索我的字符串的特定單詞
(完成)如果找到這個單詞
(任何想法)我想輸出它的單詞向量的數量。在字符串中搜索一個單詞並返回與矢量數相對應的數字。 C++

我這裏有這個字符串模塊[MODULENO + 1] = {「」,「Maths」,「Sciences」,「French」,「English」};我搜索這個字符串的單詞..我找到了這個詞..我想要的是輸出的矢量數在..讓我說我正在尋找英語..我發現這個詞...現在我要輸出((模塊英語是矢量4))

預先感謝您

+0

您能否澄清您的要求?我不知道你在這裏要求什麼。 – 2012-07-30 14:59:21

+0

那麼,所有這些單詞在向量中,或者當你說矢量時,你是否想要報告匹配在單詞串中的單詞的索引? – pstrjds 2012-07-30 14:59:27

+0

最好向我們展示您嘗試過的方式,並尋求具體幫助。然而,看起來像你只是想要http://en.cppreference.com/w/cpp/string/basic_string/find – BoBTFish 2012-07-30 14:59:41

回答

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'; 
+0

我想要的是返回該模塊所在的向量數。 我不認爲這樣做? = /非常感謝你 – alex 2012-07-30 16:14:31

+0

我需要這樣的事嗎? [鏈接] INT getModuleNo(串的模塊[],串word_to_check){ \t \t的for(int i = 1; I alex 2012-07-30 16:17:09

+0

@alex:目前尚不清楚「矢量數」的含義。這將返回找到單詞匹配的索引。如果「英文」位於「模塊[4]」,則函數將返回值「4」。 – Blastfurnace 2012-07-30 16:18:06

0

我猜你應該使用的std ::發現找到一個元素,比的std ::距離到計算元素的索引。

相關問題