С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
f0rEsT93
1 / 1 / 0
Регистрация: 06.08.2013
Сообщений: 13
#1

Определить самое короткое слово предложения, первое, если таких несколько. - C++

25.01.2014, 16:21. Просмотров 377. Ответов 2
Метки нет (Все метки)

Всем доброго времени суток!
Пару дней назад начал изучение Си. Задали д/з...Вот собственно условие:
В тексте, записанном в строке S, слова разделены пробелами. Определить самое короткое слово предложения, первое, если таких несколько. Программа должна обрабатывать любо количество выриантов данных.
Вроде все просто и понятно, НО у меня все же не получается до конца правильно доделать это задание...
Вот код, который удалось мне написать :

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
#include <iostream>
using namespace std;
const int length=100;
 
int main(){
    char strin[length], strout[length];
    int count, summ=0, l=0,min=length;
    //char s;
    //s=0;
    cout<<"Input your string\n";
    cin.getline(strin,length);
    count=strlen(strin);
    
for (int i=0;i<count;i++){
 
        //
        if(strin[i]!=' '){
            //if(strin[i]==' ')summ--;
            summ++;
        }
        if(strin[i]!=' ' && (strin[i+1]==' ' || strin[i+1]=='\0'))
        /*if(strin[i]==' ')*/{
            if (summ < min){
                min=summ;
                summ=0; 
                strout[i]=0;
                for (int j=0;j<=min;j++){               
                    strout[min+j]=strin[i-min+j];       
                }
                strout[i]='\0';
            }   
        }
}       
 
 
cout<<"Minimal word is: "<<strout<<endl;
cout<<"Number symbols for it word- "<<min<<endl;
system("pause");
return 0;
}
Прошу помогите исправить ...
P.S. Прошу сильно не "пинать" изучение начал недавно, обучение происходит мягко говоря самостоятельно...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 16:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить самое короткое слово предложения, первое, если таких несколько. (C++):

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

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

В заданной строке определить самое длинное и самое короткое слово - C++
Ввести несколько строк,каждая из которых содержит некоторое количество слов.В заданной строке определить самое длинное и самое короткое...

Дан текст из нескольки строк, определить самое длинное и самое короткое слово - C++
Вот задание: Дан текст из нескольки строк, определить самое длинное и самое короткое слово.... Я смог решить тока для одной...

Определить самое короткое слово в строке - C++
Считываем строку из файла и определяем самое короткое слово..Проблема в том, что самым коротким словом выводит пустоту...Я не понимаю в...

Определить самое длинное и короткое слово - C++
Задача: Ввести строку, содержащую несколько слов. Определить самое длинное и самое короткое слово. Код: #include &lt;iostream&gt; using...

2
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
25.01.2014, 16:40 #2
f0rEsT93,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include<string>
#include<sstream>
#include<vector>
#include<algorithm>
int main()
{
    std::string str;
    std::getline(std::cin,str);
    std::vector <std::string> vecStr;
    std::stringstream ss(str);
    for(std::string word;ss>>word;vecStr.push_back(word));
    std::cout<<*min_element(vecStr.begin(),vecStr.end(),[] (std::string str1,std::string str2)
                            {return str1.length()<str2.length();});
    return 0;
}
0
f0rEsT93
1 / 1 / 0
Регистрация: 06.08.2013
Сообщений: 13
25.01.2014, 16:46  [ТС] #3
конечно спасбо за ответ, но для меня это несколько затруднительный для понимания ответ. Возможно ли использовать только подключение одного заголовочного файла Iostream и написание варианта ближе к моему(" обучаемуся")
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2014, 16:46
Привет! Вот еще темы с ответами:

Определить самое длинное и короткое слово - C++
Задача: Ввести строку, содержащую несколько слов. Определить самое длинное и самое корот-кое слово. Код: #include &lt;iostream&gt; using...

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

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

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


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

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

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