Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
MILAN
888 / 782 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
#1

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

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

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

Есть отдельная функция, которая удаляет подстроку со строки???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2010, 23:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ввести предложение, и вывести самое короткое слово? (C++):

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

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

Ввести строку, содержащую несколько слов. Определить самое длинное и самое короткое слово
Здравствуйте, не могли бы мне помочь с кодом. Как его переписать, чтобы...

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

Вывести самое длинное и самое короткое слово из строки
Хочу сделать через strtok, но толком не знаю как именно. #include <iostream>...

Вывести самое короткое слово
Вывести самое короткое слово введенной с клавиатуры текстовой строки. ...

11
R0mm
Псевдо программист
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
14.03.2010, 08:54 #2
MILAN, какой язык программирования-то?
0
MILAN
888 / 782 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2010, 12:19  [ТС] #3
Желательно на С!
0
R0mm
Псевдо программист
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
14.03.2010, 13:48 #4
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
888 / 782 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2010, 13:56  [ТС] #5
Как то сложно! Я думал можна строку розбить strtok, потом каждое слово проверять, менше ли оно минимума, и так далее. Только я незнаю как мне удалить слово со стороки???
0
R0mm
Псевдо программист
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
14.03.2010, 13:59 #6
Цитата Сообщение от MILAN Посмотреть сообщение
можна строку розбать strtok, потом каждое слово проверять, менше ли оно минимума, и так далее
собственно так программа и работает, за исключением функции strtok
0
MILAN
888 / 782 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2010, 14:32  [ТС] #7
То есть покороче нельзя ее записать?
0
R0mm
Псевдо программист
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
14.03.2010, 14:34 #8
MILAN, ну можно удалить пробелы, и переносы строк
0
MILAN
888 / 782 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2010, 14:38  [ТС] #9
Спасибо!!!
0
outoftime
║XLR8║
756 / 656 / 211
Регистрация: 25.07.2009
Сообщений: 3,289
Записей в блоге: 5
14.03.2010, 14:57 #10
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
888 / 782 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2010, 15:19  [ТС] #11
Ето на С????
0
outoftime
║XLR8║
756 / 656 / 211
Регистрация: 25.07.2009
Сообщений: 3,289
Записей в блоге: 5
14.03.2010, 15:23 #12
вообще-то нет, но на все си++ функции что я юзал можно подобрать эквивалент на сишнике, и длина кода от этого не сильно пострадает
0
14.03.2010, 15:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2010, 15:23
Привет! Вот еще темы с решениями:

Из введенного текста вывести самое короткое слово
Ребята помогите написать элементарную программу : Из введенного текста...

Поменять местами самое длинное слово и самое короткое слово в тексте
Пусть есть двумерный массив, заполненный символами. Рассматривать его как...

Вывести на экран самое короткое слово заданной строки (если их несколько, то первое)
Написать функцию, которая выводит на экран самое короткое слово. Если их...

Поменять местами в предложении самое длинное и самое короткое слово
Сам код, но тут 12 ошибок выдает в логе: #include &quot;stdafx.h&quot; #include...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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