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

Напечатать самое длинное и самое короткое слово в строке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнение динамической матрицы(дв. массива) аналогично статической http://www.cyberforum.ru/cpp-beginners/thread202551.html
Т.е. простой двумерный массив можно заполнить так: { {0, 0, 0, 0, 0}, {0, 1, 3, 1, 0}, {0, 3, 9, 3, 0}, {0, 1, 3, 1, 0}, {0, 0, 0, 0, 0} } Есть ли способ аналогично заполнить динамический массив?
C++ Функция Посчитать значение следующего математического выражения, x вводится с клавиатуры. y=7x*x+2/sqrt(x*x*x) http://www.cyberforum.ru/cpp-beginners/thread202548.html
Метод однократной интерполяции (ошибка в реализации) C++
имеется схема алгоритма, метода однократной интерполяции. нужно реализовать ету схему используя с++. вот пишу код: #include <iostream.h> #include <conio.h> #include <string.h> #include <math.h> const e=0.0001; const n=100;
C++ Определить количество столбцов, не содержащих ни обного нулевого элемента
Здравствуйте! Помогите, пожалуйста, написать задачи на С++. Вот текст: 1)Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни обного нулевого элемента. 2)Характеристикой строки целочисленной матрицы назовём сумму её положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик. ВСЁ ЭТО НУЖНО...
C++ Найти сортировку по возрастанию http://www.cyberforum.ru/cpp-beginners/thread202508.html
Дан одномерный Массив. Найти сортировку по возрастанию. Подскажите где можно писать задачу что бы на неё ответили? Надо задачи решить!!! Как "кровь из носа" надо... Помогите.
C++ Количество лет, месяцев, дней между датами Здравствуйте. Может подскажите как вывести количество лет месяцев дней между двумя датами? спасибо за ответы! подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
12.11.2014, 17:09
Цитата Сообщение от vestr Посмотреть сообщение
как написать эту программу в более простом виде?
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
#include <iostream>
#include <string>
#include <set>
#include <sstream>
#include <iterator>
 
struct LenCmp {
    bool operator () (const std::string& a, const std::string& b) {
        return a.size() < b.size();
    }
};
 
int main() {
    std::string s;
    
    while ( std::cout << "String: " && std::getline(std::cin, s) && ! s.empty() ) {
        std::istringstream ist(s);
        std::set<std::string, LenCmp> set;
        std::copy(std::istream_iterator<std::string>(ist), std::istream_iterator<std::string>(), std::inserter(set, set.begin()));
        std::cout << "shortest: " << *(set.begin()) << " longest: " << *(set.rbegin()) << std::endl;
    }
    
    return 0;
}
если не заморачиваться тем, что самых длинных/коротких слов может быть больше одного, и лямбда-функции не использовать.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru