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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
papik1234567890
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 14
#1

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

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

Народ, помогите, пожалуйста, как мне написать код в с++ програмки, в которой дана строка, состоящая из слов, разделенных пробелами (одним или несколькими). Найти длину самого короткого и самого длинного слова, а также сами эти слова.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2012, 01:21     Найти длину самого короткого и самого длинного слова, а также сами эти слова
Посмотрите здесь:

Поиск самого короткого и самого длинного слова массива - C++
Возникла проблема, программа наименьшим считает всегда первое слово #include <iostream> #include <conio.h> #include <locale> ...

Найти длину самого короткого слова - C++
Даны слова, разделенные пробелами. Найти длину самого короткого слова.

Строки. Найти длину самого короткого слова - C++
Добрый вечер. Хочу попросить у вас помощи с программой: нужно найти длину самого короткого слова в строке и вывести его. Все коды, что...

Задан текст. Найти длину самого короткого слова. - C++
Здравствуйте. помогите написать программу. Задан текст. Найти длину самого короткого слова. Спасибо.

Работа со строками. Найти длину самого короткого слова. - C++
Даны слова разделенные пробелами. Найти длину самого короткого слова.

Символы и строки.Найти длину самого короткого слова - C++
Дано предложение. Найти длину самого короткого слова. Нужно сделать на Borland C++ (консолька) ! Умоляю помогите!!

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7163 / 4329 / 632
Регистрация: 29.11.2010
Сообщений: 11,751
13.12.2012, 01:48     Найти длину самого короткого и самого длинного слова, а также сами эти слова #2
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;
}
papik1234567890
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 14
13.12.2012, 02:18  [ТС]     Найти длину самого короткого и самого длинного слова, а также сами эти слова #3
не работает(((
MrGluck
Модератор
Эксперт CЭксперт С++
7163 / 4329 / 632
Регистрация: 29.11.2010
Сообщений: 11,751
13.12.2012, 02:20     Найти длину самого короткого и самого длинного слова, а также сами эти слова #4
http://liveworkspace.org/code/3t6VL5
papik1234567890
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 14
13.12.2012, 14:54  [ТС]     Найти длину самого короткого и самого длинного слова, а также сами эти слова #5
17 ошибок(
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
13.12.2012, 15:37     Найти длину самого короткого и самого длинного слова, а также сами эти слова #6
papik1234567890, у MrGluck используется C++11. Ваш компилятор судя по всему его не поддерживает
MrGluck
Модератор
Эксперт CЭксперт С++
7163 / 4329 / 632
Регистрация: 29.11.2010
Сообщений: 11,751
13.12.2012, 16:44     Найти длину самого короткого и самого длинного слова, а также сами эти слова #7
Цитата Сообщение от 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;
}
papik1234567890
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 14
14.12.2012, 19:30  [ТС]     Найти длину самого короткого и самого длинного слова, а также сами эти слова #8
Спасибо огромное))) а можете комменты написать, если не тяжело?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2012, 21:41     Найти длину самого короткого и самого длинного слова, а также сами эти слова
Еще ссылки по теме:

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

Найти длину самого длинного слова и вывести это слово на экран - C++
Помогите с задачкой на С++, ничего не понял, хотя бы объясните алгоритм пожалуйста.

Определить длину самого короткого слова в символьной строке - C++
дано символьная строка. Слово-последовательность символов между пробелами, не содержащие пробелы внутри себя. Определить длину самого...

Определите длину самого короткого слова в строке слов. - C++
Дана строка слов, разделенных пробелами и запятыми. Подсчитайте ко-личество подстрок (заключенных между запятыми) в строке. Определите...


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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
7163 / 4329 / 632
Регистрация: 29.11.2010
Сообщений: 11,751
14.12.2012, 21:41     Найти длину самого короткого и самого длинного слова, а также сами эти слова #9
Цитата Сообщение от 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;
}
Yandex
Объявления
14.12.2012, 21:41     Найти длину самого короткого и самого длинного слова, а также сами эти слова
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru