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

Строки - C++

Восстановить пароль Регистрация
 
Aplake
6 / 6 / 1
Регистрация: 20.02.2011
Сообщений: 43
26.05.2011, 13:15     Строки #1
Нужна помощь. Вводиться строка. Удалить из строки слова имеющие минимальную длину. Вывести полученную строку на экран.
Например
dog case pick castle war
case pick castle
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2011, 13:15     Строки
Посмотрите здесь:

C++ Строки в файлах (вывести из каждой строки последнее слово)
Строки (Расположить слова строки в порядке, обратном исходному) C++
Строки. Вывести на печать то слово этой строки, которое по алфавиту предшествует всем другим C++
C++ Структуры и строки (как поменять значение строки в структуре?)
C++ Слияних 2 файлов в третий + строки + использование командной строки
Как сделать так, что бы длинна строки сама менялась при вводе строки? C++
C++ Разместить текст первой строки по центру второй строки
C++ Определить, верно ли утверждение: сумма элементов каждой i-й строки матрицы меньше суммы (i-1)-й строки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
26.05.2011, 17:13     Строки #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
#include <string>
#include <iostream>
#include <algorithm>
#include <iterator>
#include <sstream>
#include <list>
 
int main()
{
   std::string s("dog case pick castle war");
   std::istringstream str(s);
   std::istream_iterator<std::string> begin(str), end;
   std::list<std::string> list(begin, end);
         
   size_t minlen =   
      std::min_element(list.begin(), list.end(), 
         [](const std::string &s1, const std::string &s2) 
         {return s1.length()<s2.length();}
      )->length();   
      
   list.remove_if([=](const std::string &s1){return s1.length()==minlen;});
   
   std::copy(list.begin(), list.end(), std::ostream_iterator<std::string>(std::cout, " "));
   
}
Yandex
Объявления
26.05.2011, 17:13     Строки
Ответ Создать тему
Опции темы

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