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

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

Восстановить пароль Регистрация
 
f0rEsT93
 Аватар для f0rEsT93
1 / 1 / 0
Регистрация: 06.08.2013
Сообщений: 13
25.01.2014, 16:21     Определить самое короткое слово предложения, первое, если таких несколько. #1
Всем доброго времени суток!
Пару дней назад начал изучение Си. Задали д/з...Вот собственно условие:
В тексте, записанном в строке 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. Прошу сильно не "пинать" изучение начал недавно, обучение происходит мягко говоря самостоятельно...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 16:21     Определить самое короткое слово предложения, первое, если таких несколько.
Посмотрите здесь:

Поменять местами самое длинное слово и самое короткое слово в тексте C++
C++ Дан текст из нескольки строк, определить самое длинное и самое короткое слово
Даны два предложения. Найти самое короткое из слов первого предложения, которого нет во втором предложении C++
C++ Даны два предложения. Найти самое короткое из слов первого предложения,которого нет во втором предложений?
Определить самое короткое слово в строке C++
C++ Подсчитать количество предложений во всех файлах и вывести на экран самое короткое и самое длинное предложения
C++ В заданной строке определить самое длинное и самое короткое слово
C++ Вывести на экран самое короткое слово заданной строки (если их несколько, то первое)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 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;
}
f0rEsT93
 Аватар для f0rEsT93
1 / 1 / 0
Регистрация: 06.08.2013
Сообщений: 13
25.01.2014, 16:46  [ТС]     Определить самое короткое слово предложения, первое, если таких несколько. #3
конечно спасбо за ответ, но для меня это несколько затруднительный для понимания ответ. Возможно ли использовать только подключение одного заголовочного файла Iostream и написание варианта ближе к моему(" обучаемуся")
Yandex
Объявления
25.01.2014, 16:46     Определить самое короткое слово предложения, первое, если таких несколько.
Ответ Создать тему
Опции темы

Текущее время: 14:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru