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

Удалить строку с самым большим количеством слов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Траббл с компиляцией. Ms Visual с++ http://www.cyberforum.ru/cpp-beginners/thread141729.html
Удалите тему. создал не в том разделе
C++ обработка массивов В массиве A из N элементов (N не больше 30) определить количество элементов, значения которых больше среднего арифметического всех элементов. Число N и значения элементов массива задаются вводом. 2.... http://www.cyberforum.ru/cpp-beginners/thread141705.html
C++ Простейшее, но нужно
Дано произвольное число X. Вычислить и вывести на экран Y=ln X, если Х имеет положительное значение. В остальных случаях вывести сообщения "логарифм нуля не существует" или "логарифм отрицательного...
C++ Завтра сдавать))
Господа! ХЕЛП! Курсовик мне написали, а обьяснить не успели!! Обьясните пожалуйста((( Оч благодарен буду заранее спасибо
C++ Вычислить сумму бесконечного сходящегося ряда http://www.cyberforum.ru/cpp-beginners/thread141700.html
Спасайте, братья! Вот такая вот штучка попалась :) Задание. Вычислить сумму бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину,...
C++ матрицы Помогите пжалста с 2 мя задачами 1. В матрице размерами N*M определить максимальный элемент в каждом столбце (N и M не больше 10). Матрицу сформировать из случайных чисел в диапазоне от –100 до... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9681 / 5631 / 954
Регистрация: 25.07.2009
Сообщений: 10,808
06.06.2010, 20:42
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <sstream>
#include <string>
#include <algorithm>
#include <functional>
#include <list>
#include <iterator>
 
size_t words_count(const std::string & s){
    std::istringstream ist(s);
    std::string tmp;
    size_t cnt = 0;
 
    while ( ist >> tmp )
        ++cnt;
 
    return cnt;
}
 
class CmpFunc : public std::binary_function<std::string, std::string, bool> {
public:
    bool operator () (const std::string & a, const std::string & b){
        return words_count(a) < words_count(b);
    }
};
 
int main(){
    std::string buf;
    std::list<std::string> list;
 
    std::cout << "Enter some strings (empty - finish):" << std::endl;
    while ( true ){
        std::cout << "> ";
        std::getline(std::cin, buf);
        if ( buf.empty() )
            break;
        list.push_back(buf);
    }
    if ( list.empty() ){
        std::cerr << "No strings reached!" << std::endl;
        return 1;
    }
 
    list.erase(std::max_element(list.begin(), list.end(), CmpFunc()));
    std::cout << "Without string with maximum words count:" << std::endl;
    std::copy(list.begin(), list.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru