2017-11-15 20 views
-9

私はC++を初めて使用しています。あなたの助けを前にありがとう。指定された文字列の配列内の文字列の出現回数をカウントする-CPP

string sarray[8] = {"Hello", "Hello", "Hi", "Hi","Hi", "Greet","Greet", "Great"} 

ここでは、文字列の出現回数を最も多くカウントしたいと考えています。すなわち「Hi」が3回発生した。

+0

'のstd ::マップ<はstd ::文字列、整数>' ' – iBug

+0

のstd ::マップ<はstd ::文字列、のstd :: size_tの>'役立つかもしれません。または配列をソートして簡単に数えることができます。 – Jarod42

+0

あなたは何をしましたか? –

答えて

0

使用STL std::map

#include <iostream> 
#include <map> 
#include <cstddef> 

std::map<std::string, std::size_t> counts; 
int i; 
std::size_t maxi = 0; 
for (i = 0; i < 8; i ++){ 
    counts[sarray[i]] ++; 
} 
for (i = 0; i < 8; i ++){ 
    if (counts[sarray[i]] > maxi){ 
     maxi = i; 
    } 
} 
std::cout << sarray[maxi] << std::endl; 
+0

ありがとうiBug :) – SB1990

関連する問題