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

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

Войти
Регистрация
Восстановить пароль
 
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407
#1

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

05.12.2013, 20:28. Просмотров 743. Ответов 4
Метки нет (Все метки)

Добрый вечер. Хочу попросить у вас помощи с программой: нужно найти длину самого короткого слова в строке и вывести его. Все коды, что нахожу, работают не под это. Буду благодарен за помощь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2013, 20:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки. Найти длину самого короткого слова (C++):

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

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

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

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

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

Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. - C++
1. Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. 2. 14.14. Имеется строка, содержащая буквы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Waik
10 / 10 / 1
Регистрация: 23.04.2013
Сообщений: 59
05.12.2013, 20:44 #2
А где примеры собственных попыток решения?
p/s И наверняка вы плохо искали.
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 407
05.12.2013, 21:08  [ТС] #3
Цитата Сообщение от Waik Посмотреть сообщение
А где примеры собственных попыток решения?
p/s И наверняка вы плохо искали.
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 <cstring>
#include <sstream>
 
using namespace std;
int main()
{
char str[256],temp[256];
cin.getline(str, 256);
int l=strlen(str),i,n=0,min_len,max_len;
istringstream ist(str);
ist>>temp;
min_len=max_len=strlen(temp);
while(ist>>temp)
{
if (strlen(temp)>max_len) max_len=strlen(temp);
if (strlen(temp)<min_len) min_len=strlen(temp);
}
cout<<max_len<<endl<<min_len<<endl;
system ("pause");
}



Не хочет работать
Waik
10 / 10 / 1
Регистрация: 23.04.2013
Сообщений: 59
05.12.2013, 21:40 #4
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
#include "stdafx.h" 
#include <iostream>
 
int main() {
    char str[80];
    int Len,k,min;
 
    printf("enter string:\n");
    gets(str);
 
    Len=strlen(str);                                    //длина строки
    k=0;                                                //длина слова. изначально 0
    min=0;                                              //минимальное значение. изначально 0
    for(int i=0; i<=Len; i++){
        k++;                                            //счетчки длины слова
        if((str[i+1] == ' ') || (str[i+1] == '\0')){    //если след символ пробле или символ окончания строки то,
            if(min == 0) min =k;                        //если min=0 это значит что мы нашли первое слово и минимальным значением по умолчанию будет длина первого слова
            if(k < min) min = k;                        //если длина слова меньше min то присваиваем новое значение для min
            k=-1;                                       //обнуляем длину слова. -1 т.к след символ в цикле это пробле, нам его считать не нужно
        }
    }
    printf("\n min %i ", min);
    system("pause");
    return 0;
 
 
}
Пожалуйста.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.12.2013, 21:56 #5
Цитата Сообщение от avatar1870 Посмотреть сообщение
Не хочет работать
Если немного переделать ваш код (правда, смесь С и С++ получается):
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
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <sstream>
 
using namespace std;
 
int main()
{
    char str[256], temp[256], min[256];
    
    cin.getline(str, 256);
    
    istringstream ist(str);
    ist >> min;
    while(ist >> temp)
    {
        if (strlen(temp) < strlen(min))
            strcpy(min, temp);
    }
    cout << min << endl;
    
    system ("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2013, 21:56
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.12.2013, 21:56
Ответ Создать тему
Опции темы

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