Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 14

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

13.12.2012, 01:21. Показов 3968. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, помогите, пожалуйста, как мне написать код в с++ програмки, в которой дана строка, состоящая из слов, разделенных пробелами (одним или несколькими). Найти длину самого короткого и самого длинного слова, а также сами эти слова.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2012, 01:21
Ответы с готовыми решениями:

Строки (Найти длину самого короткого и самого длинного слова, а также сами эти слова)
Люди, подскажите, плиз, как написать програмку в с++ за условием, что дана строка, состоящая из слов, разделенных пробелами (одним или...

Найти длину самого короткого слова и самого длинного слова в строке
помогите!!! Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова.

Дана строка содержащая текст. Найти длину самого короткого и самого длинного слова.
помогите написать программу =) очень нужно=) Дана строка содержащая текст. Найти длину самого короткого и самого длинного слова.

8
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
13.12.2012, 01:48
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <sstream>
#include <algorithm>
#include <iterator>
 
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::istringstream ist(str);
    auto res = std::minmax_element(std::istream_iterator<std::string>(ist),
        std::istream_iterator<std::string>(),
        [](const std::string &s1, const std::string &s2)
        {
            return s1.length() < s2.length();
        } );
    std::cout << "Min: " << *res.first << " with length "
              << res.first->length() << "\nMax: " << *res.second
              << " with length " << res.second->length() << std::endl;
}
1
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 14
13.12.2012, 02:18  [ТС]
не работает(((
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
13.12.2012, 02:20
http://liveworkspace.org/code/3t6VL5
0
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 14
13.12.2012, 14:54  [ТС]
17 ошибок(
0
 Аватар для Пaтрик
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 976
13.12.2012, 15:37
papik1234567890, у MrGluck используется C++11. Ваш компилятор судя по всему его не поддерживает
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
13.12.2012, 16:44
Цитата Сообщение от papik1234567890 Посмотреть сообщение
не работает(((
Работает, но не у вас.
Ввот для С++03
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);
    std::istringstream ist(str);
    min = *std::min_element(std::istream_iterator<std::string>(ist),
        std::istream_iterator<std::string>(), cmp);
    //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;
}
1
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 14
14.12.2012, 19:30  [ТС]
Спасибо огромное))) а можете комменты написать, если не тяжело?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2012, 21:41
Помогаю со студенческими работами здесь

Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова.
1. Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. 2. 14.14. Имеется строка, содержащая буквы...

Найти длину самого короткого и самого длинного слова.
Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова.

Найти длину самого длинного и самого короткого слова
Дана символьная строка, заканчивается точкой. Найти длину самого длинного и самого короткого слова не могу допереть как это...

Найти длину самого длинного и самого короткого слова
Дана строка символов. Найти длину самого длинного и самого короткого символа. Написать задачу с обращением к процедуре...

Найти длину самого короткого и самого длинного слова
помогите решить Дана символьная строка, содержащая текст, который заканчивается точ¬кой. Найти длину самого короткого и самого длинного...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru