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

Вывод минимального слова. Первого если их несколько в строке - C++

Восстановить пароль Регистрация
 
f0rEsT93
 Аватар для f0rEsT93
1 / 1 / 0
Регистрация: 06.08.2013
Сообщений: 13
06.04.2014, 08:04     Вывод минимального слова. Первого если их несколько в строке #1
Доброго времени суток.
Так как я только недавно начал изучение C++, у меня соответственно случились небольшие затруднения, а конкретно:
При запуске кода идет ввод строки с пробелами (знаки мне пока не удалось ), затем происходит поиск самого короткого слова (если одинаковых по количеству символов слов несколько, то выбирается 1 ), и после всего этого, соответственно (должен быть) вывод слова и его количество символов...НО у меня не получается это слово правильно вывести (подсчитать символы от начала до конца ...)... Вот код:
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[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
06.04.2014, 08:04     Вывод минимального слова. Первого если их несколько в строке
Посмотрите здесь:

C++ Перестановка в строке первого и последнего слова..
Ввести строку и два слова, заменить все вхождения первого слова на второе C++
C++ Строковый ввод-вывод и считывание последнего слова в строке
C++ Подсчёт первого слова в строке и задача на перестановку
C++ Вывод самого длинного слова в строке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
06.04.2014, 08:14     Вывод минимального слова. Первого если их несколько в строке #2
1) Вы должны пользоваться только строками char? (можно ли использовать string)
2) Вам разрешают использовать библиотечные функции или требуют изобретать свой велосипед?
f0rEsT93
 Аватар для f0rEsT93
1 / 1 / 0
Регистрация: 06.08.2013
Сообщений: 13
06.04.2014, 08:21  [ТС]     Вывод минимального слова. Первого если их несколько в строке #3
Цитата Сообщение от IrineK Посмотреть сообщение
1) Вы должны пользоваться только строками char? (можно ли использовать string)
2) Вам разрешают использовать библиотечные функции или требуют изобретать свой велосипед?
Еще раз доброго времени суток ...
Мне кажется, что я немного не так сформулирую общий ответ на эти 2 вопроса, НО нам сказали, чтобы было просто и без использования чего либо сложного (массивы,...)...Т.е. желательно, чтобы были char и следовательно, изобретение скорее не велосипеда, а самоката
P.S.
Прошу не воспринимать как попытки оскорбления, или "препирательства".

Добавлено через 1 минуту
И, я так понимаю, для вывода самого слова нужно отдельно прописывать "нахождение слова" ?..
IrineK
Заблокирован
06.04.2014, 19:20     Вывод минимального слова. Первого если их несколько в строке #4
Цитата Сообщение от f0rEsT93 Посмотреть сообщение
без использования чего либо сложного (массивы,...)
Цитата Сообщение от f0rEsT93 Посмотреть сообщение
чтобы были char
Строка - это массив char.
f0rEsT93
 Аватар для f0rEsT93
1 / 1 / 0
Регистрация: 06.08.2013
Сообщений: 13
06.04.2014, 19:31  [ТС]     Вывод минимального слова. Первого если их несколько в строке #5
Цитата Сообщение от IrineK Посмотреть сообщение
Строка - это массив char.
Понятно, значит мой ответ поставлен не корректно,... прошу простить, ... Но мне нужно в этом коде просто организовать вывод самого слова...основываясь на написанном коде, чтобы использовать минимум подключаемых библиотек...
Количество символов то считает нормально, а вот при выводе слова возникают "кракозябры"... и не корректный вывод прошу помощи
IrineK
Заблокирован
06.04.2014, 19:41     Вывод минимального слова. Первого если их несколько в строке #6
Цитата Сообщение от f0rEsT93 Посмотреть сообщение
использовать минимум подключаемых библиотек
Это значит - максимум собственного кода, с которым у вас не очень. Может лучше библиотеки? Там за вас уже все решили - только подключить.

Цитата Сообщение от f0rEsT93 Посмотреть сообщение
возникают "кракозябры"
А вы на каком языке строку вводите?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2014, 13:37     Вывод минимального слова. Первого если их несколько в строке
Еще ссылки по теме:

В строке, содержащей несколько слов, разделенных пробелом, переставить слова в обратной последовательности C++
Написать программу добавления слова «hello» после первого слова введенной строки C++
C++ Указать общие символы первого и последнего слова в заданной строке (с использованием множества)

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

Или воспользуйтесь поиском по форуму:
f0rEsT93
 Аватар для f0rEsT93
1 / 1 / 0
Регистрация: 06.08.2013
Сообщений: 13
07.04.2014, 13:37  [ТС]     Вывод минимального слова. Первого если их несколько в строке #7
Цитата Сообщение от IrineK Посмотреть сообщение
максимум собственного кода, с которым у вас не очень
что правда, то правда,.... но на ошибках учимся ведь можете посоветовать парочку книг, для начинающего посоветовать, чтобы примеры были желательно (т.к. я больше "практик"... а расписание всех ошибок просто "утомляет ")
Цитата Сообщение от IrineK Посмотреть сообщение
А вы на каком языке строку вводите?
На кириллице они проявляются только, когда при вводе латиницы только не правильный вывод
Yandex
Объявления
07.04.2014, 13:37     Вывод минимального слова. Первого если их несколько в строке
Ответ Создать тему
Опции темы

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