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

Определить длину и позицию слова, которое имеет наименьшую длину в строке

12.11.2012, 21:42. Показов 2884. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Определить длину и позицию слова, которое имеет наименьшую длину в строке.
Строки

Пожалуйста помогите!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.11.2012, 21:42
Ответы с готовыми решениями:

Найти слово которое имеет наименьшую длину
То что я имею: #include "stdafx.h" #include "string" #include "vector" #include <iostream> #include <algorithm> int...

Определить наименьшую длину слова в строке
Определить наименьшую длину слова в строке. Считать, что все слова отделены пробелами

Определить наименьшую длину слова в строке
Определить наименьшую длину слова в строке. Считать, что все слова отделены пробелами

6
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
12.11.2012, 21:51
Конкретней объясни условие задачи. Непонятное условие.
0
11 / 11 / 2
Регистрация: 04.03.2012
Сообщений: 128
12.11.2012, 21:55
для начала определяешь в массиве символы, которые к словам не относятся:
C++
1
2
3
4
5
6
7
8
char replace_str [] = {'.',',','!','?',':',';'};
string stroka=":1:!1 2?2 3 4; 5; 6tab5  y5 "; //сама строка
 
// и ловишь
    for (int j=0;j<sizeof(replace_str);j++)
      for (i=str.find(replace_str[j]);i!=string::npos; i = str.find(replace_str[j], i+1) )
        if (i>0 )
        ... //тут уже надо подумать)
0
0 / 0 / 1
Регистрация: 02.03.2012
Сообщений: 46
12.11.2012, 22:09  [ТС]
Вводим текст, ищем меньше слово, находим длину и позицию слова.
0
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.11.2012, 22:54
Решил через multimap сделать:
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
#include <iostream>
#include <map>
#include <sstream>
#include <iomanip>
using std::cout;
using std::endl;
using std::string;
 
int main()
{
    setlocale (LC_ALL, "Russian");
    string str = "Thedfgh standard library provides facilities to obtain values"
        "that are returned and to catch exceptions that are thrown by "
        "asynchronous tasks, that is, by the functions launched on threads. "
        "These values are communicated in a shared state, in which the "
        "asynchronous task may write its return value or store an exception, "
        "and which may be examined, waited for, and otherwise manipulated by "
        "other threads that hold instances of std::future or std::shared_future"
        " that reference that shared state.";
    string temp;
    std::stringstream ss(str);
    std::multimap<size_t, string> mymap;
    while (ss>>temp)
    {
        if (temp.size() == 1 || temp.size() == 2)
            continue;
        mymap.insert(make_pair(temp.size(), temp));
    }
    for (auto it = mymap.cbegin(); it != mymap.cend(); it++)
        cout<<std::setw(20)<<(*it).second<<" : "<<(*it).first<<endl;
    cout<<"\n\n****************************************************\n"
        "Наименьшее слово "<<(*mymap.cbegin()).second<<" в позиции :"
        <<str.find((*mymap.cbegin()).second)<<endl;
    system("pause");
    return 0;
}
0
0 / 0 / 1
Регистрация: 02.03.2012
Сообщений: 46
14.11.2012, 23:30  [ТС]
А можешь пожалуйста как-то проще написать,а то я не сильно понимаю??Спасибо

Добавлено через 21 час 53 минуты
+++++++

Добавлено через 3 часа 3 минуты
______________

Добавлено через 21 час 43 минуты
________________

Добавлено через 1 час 48 минут
________________
0
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
15.11.2012, 16:24
Можно еще так (этот вариант мне больше нравится):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <iterator>
 
int main()
{
    setlocale (LC_ALL, "Russian");
    std::string str = "Определить длину и позицию слова, которое имеет наименьшую длину в  строке";
    std::istringstream iss(str);
    auto compare = [] (const std::string& s1, const std::string& s2) 
    {
        if (s1.size() <= 2 || s2.size() <= 2)
            return false;
        return s1.length()<s2.length();
    };
    std::string less = *std::min_element(std::istream_iterator<std::string>(iss), std::istream_iterator<std::string>(), compare);
    std::cout<<"Наименьшее слово: '"<<less<<"' в позиции : "<<str.find(less)<<std::endl;
    system("pause");
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.11.2012, 16:24
Помогаю со студенческими работами здесь

Написать программу нахождения в заданной строке первого слова, которое имеет заданную длину.
Написать программу нахождения в заданной строке первого слова, которое имеет заданную длину.

Написать программу нахождения в заданной строке первого слова, которое имеет заданную длину
Написать программу нахождения в заданной строке первого слова, которое имеет заданную длину.

Определить среднюю длину слова в введенной текстовой строке, символы пунктуации на длину не влияют
определить среднюю длину слова в введенной текстовой строке, символы пунктуации на длину не влияют. Скажите, в чем здесь ошибка??? ...

Найти в строке первое слово, которое имеет заданную длину
Написать программу нахождения в заданной строке первого слова, которое имеет заданную длину.

Создать программу, которая в строке, введенной с клавиатуры определит наименьшую длину слова
Создать программу, которая в строке, введенной с клавиатуры определит наименьшую длину слова. Слова всегда разделены пробелом. Спасибо) ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru