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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
zero4kin
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 9
#1

Отредактировать текст,удаляя из него слова,которые встречаются в предложении заданное число раз - C++

16.07.2012, 22:21. Просмотров 1738. Ответов 3
Метки нет (Все метки)

Осталось пара заданий в практике,сам не могу разобраться как сделать,времени совсем нету,прощу помочь.
1 Отредактировать текст,удаляя из него слова,которые встречаются в предложении заданное число раз.
предусмотреть ввод и вывод данных на дисплей либо в файл.
Заранее спасибо!
 Комментарий модератора 
Одна тема - один вопрос!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2012, 22:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отредактировать текст,удаляя из него слова,которые встречаются в предложении заданное число раз (C++):

Отредактировать заданное предложение, удаляя из него те слова, которые уже встречались в предложении раньше - C++
Помогите, пожалуйста! Отредактировать заданное предложение, удаляя из него те слова, которые уже встречались в предложении раньше. ...

Удалить из строки слова, которые встречаются заданное число раз (нужны комментарии) - C++
Помогите пояснить программу пожалуйста? Написать комментарии к каждой строке?) #include <iostream> #include <string> #include...

Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами - C++
Вобщем совсем недавно начал изучать С++. Изучение начал сразу после паскаля, поэтому в голове каша и ничего непонятно. Задача звучит...

Дан массив. Выберите из него все элементы, которые встречаются в массиве наибольшее число раз - C++
СРОЧНО!!! ПОМОГИТЕ ПОЖАЛУЙСТА,ОЧЕНЬ НУЖНО!!! ЗАРАНИЕ БЛАГОДАРЮ!) ...

Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в котором они в - C++
Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в...

Подсчитать количество слов, которые встречаются в предложении ровно 1 раз - C++
Очень прошу помочь написать программу: Дано предложение, состоящее из слов, разделенных пробелами. Подсчитать количество слов, которые...

3
David Sylva
1288 / 950 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
17.07.2012, 16:16 #2
Удаление можно сделать вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
#include <string>
using namespace std; 
int main() 
{ 
    string str = "Real Madrid Champions of Spain of"; // исходная строка
    string asd = "of";  // что удаляем
    int size = 2;       // количество
    int n;              // позиция удаляемого
    for ( int i = 0; i < size; i++) 
    {
       n = str.find(asd);   // ищем
       str.erase(n, asd.size());  // удаляем
    } 
 cout << str << endl;
}
0
zero4kin
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 9
17.07.2012, 21:13  [ТС] #3
Спасибо,но тут не надо задавать какое именно слово следует удалять,а должен вестись подсчет одинаковых слов,и если их количество совпадет с заданным,они должны быть удалены
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
18.07.2012, 01:47 #4
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
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <set>
 
#include <boost/algorithm/string.hpp>
 
 
int main() {
   std::string text = "And many of them were caught, and some of them are still imprisoned and so on...";
   std::size_t const amount_to_remove = 1;
   
   std::vector<std::string> tokens;
   boost::split(tokens, text, boost::is_any_of(" .,"), boost::token_compress_on);
   for (auto & token : tokens) {
      boost::to_lower(token);
   }
   std::set<std::string> words(tokens.cbegin(), tokens.cend());
   for (auto const& word : words) {
      std::size_t count = std::count(tokens.cbegin(), tokens.cend(), word);
      if (count == amount_to_remove) {
         boost::ierase_all(text, word);
      }
   }
   
   std::cout << text << std::endl;
}
http://liveworkspace.org/code/4780b5574179d49f3b6089fe22aa4b3b
1
18.07.2012, 01:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2012, 01:47
Привет! Вот еще темы с ответами:

Напечатать все слова, которые встречаются в предложении по одному разу - C++
Доброго времени суток! Помогите, пожалуйста, решить задачу: Дано предложение. Напечатать все слова, которые встречаются в нём по...

Отредактировать текст,удалив из него все слова с нечетными номерами - C++
Пожалуйста нужна помощь с заданием по С++ И вот задание (1.Отредактировать текст,удалив из него все слова с нечетными номерами...

Отредактировать предложение, удаляя из него лишние пробелы - C++
отредактировать предложение ,удаляя из него лишние пробелы,оставляя только по одному пробелу между словами. в заданном предложении указать...

Отредактировать предложение, удаляя из него лишние пробелы - C++
Составить программу, в которой с клавиатуры вводится строка символов и отредактировать предложение, удаляя из него лишние пробелы оставляя...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru