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

Найти длину самого короткого и самого длинного слова, а также сами эти слова - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Убрать переход на новую строку после "cin" http://www.cyberforum.ru/cpp-beginners/thread729858.html
Хотелось бы убрать переход на новую строку после "cin". когда использую cin>>n; после ввода, в консоли автоматически идет переход на новую строку. Возможно ли как то убрать его операциями из стандартной библиотеки
C++ Реализовать в консольном режиме изменение координат элемента в матрице при нажатии стрелки вверх Как в консольном режиме реализовать, что координаты элемента в матрице меняются при нажатии стрелки вверх? http://www.cyberforum.ru/cpp-beginners/thread729857.html
C++ таймер микросекунд
Нужно оценить эффективность работы алгоритма кодирования данных по методу Хаффмана, для этого следует установить на фрагменты выполнения таких процедур, как: распределение данных, создание дерева Хаффмана, время кодирования и время декодирования - таймеры. Для этого я использовал данный фрагмент кода: #include <ctime> ... clock_t t30, t31, t; t30=clock(); //некий фрагмент программы...
VisualStudio 2012: в отладчике невозможно получить значения переменных C++
Есть проект и вот студия так сильно старается оптимизировать что я при отладке нифига не могу прочитать. Как отучить студию от это затеи? Например на скриншоте есть переменные block и key и мне нужно получить их значение, в локальных их нет, в watch оно тоже их не видит, что же делать тогда?
C++ Не запускается на XP http://www.cyberforum.ru/cpp-beginners/thread729847.html
Создал реализацию алгоритма Дейкстры в Visual studio 2012. На windows 7 запускается и работает отлично, на XP пишет, что файл не является приложение win32. Пожалуйста помогите.
C++ Определить сумму и произведение элементов массива на экран выводит хрень какую то хотя может быть и правильно делаю задание: 1.определить сумму всех элементов одномерного массива 2.произведение всех элементов. #include <iostream> using namespace std; подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
14.12.2012, 21:41     Найти длину самого короткого и самого длинного слова, а также сами эти слова
Цитата Сообщение от papik1234567890 Посмотреть сообщение
Спасибо огромное))) а можете комменты написать, если не тяжело?
Не тяжело
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
#include <iostream>
#include <sstream>
#include <algorithm>
#include <iterator>
 
bool cmp(const std::string &s1, const std::string &s2) // описываем компаратор (как будем сравнивать строки)
{
    return s1.length() < s2.length();
}
 
int main()
{
    std::string str, min, max;
    std::getline(std::cin, str); // считываем строку до первого '\n', т.е. до нажатия Enter
    std::istringstream ist(str); // инициализируем строковый поток ввода строкой
    min = *std::min_element(std::istream_iterator<std::string>(ist), // находим слово с минимальной длиной, min_element возвращает итератор на него, поэтому разыменовываем. 
        std::istream_iterator<std::string>(), cmp); // проходимся по всему потоку, извлекая из него данные как std::string, используя описанный компаратор
    //ist.seekg(0);
    ist.clear(); // очищаем поток, т.к. флаги установлены на конец потока
    ist.str(str); // заново инициализируем его той же строкой, но теперь уже не в конструкторе а специальным методом
    max = *std::max_element(std::istream_iterator<std::string>(ist), // находим максимально длинное слово по тому же принципу, что и выше
        std::istream_iterator<std::string>(), cmp);
 
    std::cout << "Min: " << min << " with length " << min.length() << "\nMax: " // выводим результат на экран
              << max << " with length " << max.length() << std::endl;
}
 
Текущее время: 20:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru