Write a program that reads a list of words. Then, the program outputs those words and their frequencies. The input begins with an integer indicating the number of words that follow. Assume that the list will always contain fewer than 20 words.
Ex: If the input is:
5 hey hi Mark hi mark
the output is:
hey - 1
hi - 2
Mark - 1
hi - 2
mark - 1
Hint: Use two vectors, one vector for the strings and one vector for the frequencies.
#include <iostream>
#include <string>
#include <vector>
#include <map>
using namespace std;
int main()
{
map<string,int>mp;
vector<string>vs;
string tmp;
int num;
cout << "Please, enter a number of words and words: ";
cin >> num;
for (int i = 0; i < num; i++)
{
cin >> tmp;
vs.push_back(tmp);
if (mp.find(tmp) == mp.end())
mp.insert(make_pair(tmp, 1));
else
{
mp[tmp]++;
}
}
for (int i = 0; i < num; i++)
{
cout << vs[i] << " - " << mp[vs[i]] << endl;
}
}
Comments
Leave a comment