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

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

12.11.2012, 21:42. Показов 2924. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
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 и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru