Форум программистов, компьютерный форум CyberForum.ru

Подсчёт слов в строке и вывод тех, которые встречаются более n раз - C++

Восстановить пароль Регистрация
 
Gelllius
2 / 2 / 0
Регистрация: 05.06.2013
Сообщений: 11
05.06.2013, 18:21     Подсчёт слов в строке и вывод тех, которые встречаются более n раз #1
Всем доброго времени суток. Прошу помощи в решении задачи. Собственно сама задача:

Дано осмысленное текстовое сообщение(т.е. алфавитно-цифровая информация, разделённая пробелами и знаками препинания, в конце которого ставится точка.) Вывести только те слова сообщения, которые встречаются в нём более n раз.

Проблема моя в том, что я не знаю как организовать пересчёт этих самых слов. и чтобы вывело точное количество. Пробовал через массив но что-то опять не клеится. вот мой код, совершенно не могу понять что сделать. Может поможет кто? Вроде не очень сложная задача, но вот что дальше я теряюсь)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
int main()
{
string str, slovo;
int s=0;
int mas[10][3];
string::size_type k=0,pos=0;
cout<<"vvedite stroku"<<endl;
getline(cin,str);
k=str.find(" ",pos)
while(k!=string::npos)
{
    slovo=str.substr(pos,k-pos)    
    scanf(slovo, mas[i]);
    slovo.erase(0,s.length)
}
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 18:21     Подсчёт слов в строке и вывод тех, которые встречаются более n раз
Посмотрите здесь:

Оставить в строке только те символы, которые встречаются один раз C++
Напечатать все слова , которые встречаются в исходной строке ровно один раз C++
C++ Найти все числа из массива B (n), которые встречаются более чем в одной строке матрицы A (m, n)
C++ Дана символьная строка. Вывести на экран только те символы, которые встречаются в ней более трех раз, для каждого из эти
C++ Даны две строки, сформировать третью из символов, которые встречаются более двух раз
C++ Последовательность слов, разделенных запятыми. Найти слова, которые встречаются определенное количество раз
Найти все символы, которые встречаются в строке более двух раз C++
Выбрать символы, которые встречаются в строке только один раз C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
05.06.2013, 20:24     Подсчёт слов в строке и вывод тех, которые встречаются более n раз #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <sstream>
#include <string>
#include <map>
 
using namespace std;
 
int main()
{
   string text;
   cout << "input text: " << endl;
   getline(cin, text);
 
   stringstream ss;
   ss << text;
 
   string word;
   map<string, unsigned> base;
 
   while (ss >> word)
   {
      base[word]++;
   }
 
   for (map<string, unsigned>::iterator it = base.begin(); it != base.end(); ++it)
   {
      cout << it->first << " " << it->second << endl;
   }
 
   return 0;
}
Gelllius
2 / 2 / 0
Регистрация: 05.06.2013
Сообщений: 11
05.06.2013, 21:36  [ТС]     Подсчёт слов в строке и вывод тех, которые встречаются более n раз #3
#include <iostream>
#include <sstream>
#include <string>
#include <map>

using namespace std;

int main()
{
string text;
cout << "input text: " << endl;
getline(cin, text);

stringstream ss;
ss << text;

string word;
map<string, unsigned> base;

while (ss >> word)
{
base[word]++;
}

for (map<string, unsigned>::iterator it = base.begin(); it != base.end(); ++it)
{
cout << it->first << " " << it->second << endl;
}

return 0;
}
Спасибо большое. А можно этот код сделать как-нибудь попроще, а то я по большей части не понимаю значений того что там написано.)) просто я сейчас на начальной стадии изучения языка(
Yandex
Объявления
05.06.2013, 21:36     Подсчёт слов в строке и вывод тех, которые встречаются более n раз
Ответ Создать тему
Опции темы

Текущее время: 05:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru