С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722

Ввести предложение, и вывести самое короткое слово?

12.03.2010, 23:59. Показов 3503. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ввести предложение, и вывести самое короткое слово???

Есть отдельная функция, которая удаляет подстроку со строки???
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.03.2010, 23:59
Ответы с готовыми решениями:

Ввести строку, вывести самое короткое слово.
Ввести строку, вывести самое короткое слово. Добавлено через 23 часа 12 минут !!!!!!!!!!!!

Нужно ввести строку и вывести самое длинное и короткое слово
Можно ли вообще записать символы из статической строки в динамическую? Не могу разобраться, как это всё правильно реализовать.. ...

Ввести строку с клавиатуры. Найти самое длинное слово в строке и самое короткое
Ввести строку с клавиатуры. Найти самое длинное слово в строке и самое короткое. Слова определяются с учетом пробелов и знаков препинания...

11
Псевдо программист
 Аватар для R0mm
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
14.03.2010, 08:54
MILAN, какой язык программирования-то?
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2010, 12:19  [ТС]
Желательно на С!
0
Псевдо программист
 Аватар для R0mm
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
14.03.2010, 13:48
MILAN, как то так

Примечание: на вход подаются слова разделенные пробелами(любым количеством), не более 256 символов в строке

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
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
 
int main() {
    char Buff[256];
    char *pSmallWord;
    char *pCurWord;
    int BuffSize(0);
    int SmallWordSize(0);
    int CurWordSize(0);
 
    printf("Enter the string:\n");
    gets(Buff);
 
    BuffSize = strlen(Buff);
    pSmallWord = pCurWord = Buff;
    SmallWordSize = 257;
 
    for (int i=0; i<BuffSize+1; i++) {
        if (Buff[i]==' ' || Buff[i]=='\0') {
            if (Buff[i-1]!=' ') {
                if (CurWordSize<SmallWordSize) {
                    pSmallWord = pCurWord;
                    SmallWordSize = CurWordSize;
 
                }
                while (Buff[i+1]==' ') i++;
                pCurWord = &Buff[i+1];
                CurWordSize = 0;
            }
        }
        else {
            CurWordSize++;
        }
    }
 
    int n = strlen(pSmallWord);
    for (int i=0; i<n; i++) {
        if (pSmallWord[i]==' ') {
            pSmallWord[i] = '\0';
            i = n+1;
        }
    }
    printf("Result:\n%s", pSmallWord);
    getchar();
    return 0;
}
1
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2010, 13:56  [ТС]
Как то сложно! Я думал можна строку розбить strtok, потом каждое слово проверять, менше ли оно минимума, и так далее. Только я незнаю как мне удалить слово со стороки???
0
Псевдо программист
 Аватар для R0mm
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
14.03.2010, 13:59
Цитата Сообщение от MILAN Посмотреть сообщение
можна строку розбать strtok, потом каждое слово проверять, менше ли оно минимума, и так далее
собственно так программа и работает, за исключением функции strtok
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2010, 14:32  [ТС]
То есть покороче нельзя ее записать?
0
Псевдо программист
 Аватар для R0mm
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
14.03.2010, 14:34
MILAN, ну можно удалить пробелы, и переносы строк
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2010, 14:38  [ТС]
Спасибо!!!
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
14.03.2010, 14:57
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 <sstream>
#include <string>
using namespace std;
 
int ckeck(string &s) { return *s.rbegin() == '.' || *s.rbegin() == ','; }
int main()
{
    string s, text, res;
    stringstream tmp;
    getline(cin, text);
    cout << text << endl;
    tmp << text;
    res = text;
    while (tmp >> s)  
    { 
        if (ckeck(s)) s.resize(s.size()-1);   
        if (s.size() < res.size()) res = s;
    }
    cout << res << endl;
    system("pause");
}
А так проще))
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2010, 15:19  [ТС]
Ето на С????
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
14.03.2010, 15:23
вообще-то нет, но на все си++ функции что я юзал можно подобрать эквивалент на сишнике, и длина кода от этого не сильно пострадает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2010, 15:23
Помогаю со студенческими работами здесь

Ввести строку, содержащую несколько слов. Определить самое длинное и самое короткое слово
Здравствуйте, не могли бы мне помочь с кодом. Как его переписать, чтобы программа работала? #include &lt;iostream&gt; #include...

Ввести последовательность предложений. Найти самое длинное слово среди них и вывести предложение с этим словом
Ввести последовательность предложений. Найти самое длинное слово среди них и вывести предложение с этим словом большими буквами!

Вывести самое длинное и самое короткое слово из строки
Хочу сделать через strtok, но толком не знаю как именно. #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include...

Вывести самое короткое слово
Вывести самое короткое слово введенной с клавиатуры текстовой строки. Помогите пожалуйста завтра нужно сдать. Заранее спасибо

Вывести самое короткое слово в предложении
Если можно, задание сделать через char! Дана строка-предложение на русском языке. Вывести самое короткое слово в предложении. Если таких...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru