Дана последовательность из n слов. Для каждого элемента определить, сколько раз это слово встречалось в этой последовательности раньше ( на позициях с меньшим индексом). С++. Это в теме множества, словари еще не учили, проблема в том, что я не понимаю как с помощью контейнера multiset\set ввести семь слов?
int n;
cin >> n;
multiset <string> a;
for (int i = 0; i <= n; i++) {
string s;
getline(cin, s);
a.insert(s); }
for (auto s : a) { cout << s << endl; }
Если я Вас правильно понял, то это делается вот так:
#include <iostream>
#include <set>
using namespace std;
int main() {
int n;
cin>>n;
string s[n];
int ans[n];
multiset<string> st;
for(int i = 0; i < n; i++) {
cin>>s[i];
ans[i] = st.count(s[i]);
st.insert(s[i]);
}
for(int i = 0; i < n; i++) {
cout<<s[i]<<": "<<ans[i]<<'\n';
}
return 0;
}
С помощью функции insert
Вы добавляете элемент в multiset
. А с помощью count
, можно посчитать количество вхождений определенной строки в Вашем multiset
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть объект класса QSqlQuery queryВ query попадает результат некоторого запроса
Есть задача - реализовать двусвязный список(хранимые значения - целые числа) при помощи структурПри заполнении списка 10^7 значениями память...
Данный калькулятор рассчитывает цену проката авто в зависимости от сезона, на каждый из 3 сезонов задано 5 разных ценМне нужно усложнить его,...