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

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

Войти
Регистрация
Восстановить пароль
 
HA4ERR
3 / 3 / 0
Регистрация: 01.07.2015
Сообщений: 50
#1

Сравнить каждое слово с предыдущи. Непонятна работа кода - C++

12.07.2015, 23:04. Просмотров 226. Ответов 4
Метки нет (Все метки)

Очень стыдно, но не могу не спросить.
Вот код:
C++
1
2
3
4
5
6
string previous = " ";
    string current;
    while (cin >> current)
    { if (previous == current)
    cout << "Reapiting the word: " << current << "\n";
        previous = current;
Цель: сравнить каждое слово с предыдущим и в случае, если они одинаковы, вывести это слово на экран.
Не совсем понимаю, как он считает с предыдущим словом , то есть с previous? Как узнал, что previous является именно предыдущим словом? Сколько бы я ни смотрел и ни вникал бы в этот код, никак не могу понять это.
P.S. Я совсем зелёный, вычитал эту мини задачу из книги "Принципы и практика использования C++. Бьерн Страуструп"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2015, 23:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сравнить каждое слово с предыдущи. Непонятна работа кода (C++):

Непонятна часть кода программы - работа с файлами - C++
Программа, выводящая символы из файла в обратном порядке. Часть кода: ..... std::ostringstream stream; stream &lt;&lt;...

В тексте удалить каждое четное слово, продублировать каждое нечетное слово - C++
Не могу решить данную задачу, много чего перечитал, за помощь буду благодарен&quot; &quot;В тексте удалить каждое четное слово, продублировать...

В тексте удалить каждое четное слово, продублировать каждое нечетное слово - C++
Не могу решить данную задачу, много чего перечитал, за помощь буду благодарен В тексте удалить каждое четное слово, продублировать...

паттерн Observer(непонятна строка кода) - C++
Непонятный код в одном месте. Хотелось бы узнать смысл и для чего его тут написали. class Subject { // 1. &quot;independent&quot;...

В тексте удалить каждое слово с четным числом символов, продублировать каждое слово с нечетным числом символов - C++
Помогите пожалуйста!!!!!!!Задан текст, состоящий из слов, записанных через запятые и,или пробел, и заканчивающийся точкой. Длина текста не...

Разбить на слоги каждое четное слово в строке, а каждое нечетное записать в обратном порядке - C++
Нужно разбить на слога каждое слово на парной позиции в строчке,а каждое на непарной позиции записать в обратном порядке

4
S_el
2109 / 1628 / 308
Регистрация: 15.12.2013
Сообщений: 6,531
12.07.2015, 23:07 #2
Цитата Сообщение от HA4ERR Посмотреть сообщение
Как узнал, что previous является именно предыдущим словом?
На 6 строку приведенного вами кода обратите внимание.А вообще если возникает вопрос: почему так происходит,рекомендую по максимуму выводить диагностические сообщение или пользоваться отладчиком.
1
HA4ERR
3 / 3 / 0
Регистрация: 01.07.2015
Сообщений: 50
12.07.2015, 23:15  [ТС] #3
S_el, То есть только к концу цикла мы присваиваем переменной previous переменную current, и в начале следующего цикла previous уже имеет значение предыдущего слова. Я правильно понимаю?
0
Vlad_Evka
42 / 1 / 0
Регистрация: 12.07.2015
Сообщений: 8
12.07.2015, 23:15 #4
HA4ERR, да.
0
HA4ERR
3 / 3 / 0
Регистрация: 01.07.2015
Сообщений: 50
12.07.2015, 23:22  [ТС] #5
Большое спасибо!
Большую роль играет эксперимент.
Только поменяв строчку previous = current в строки между 3 и 4, я понял, что циклы работают строго в последовательности, то есть написать нужно друг за другом все действия.
Сейчас попробую написать для for.
0
12.07.2015, 23:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2015, 23:22
Привет! Вот еще темы с ответами:

Очереди. За один просмотр файла вывести на экран каждое третье слово, а затем каждое четвертое - C++
Помогите студенту сделать задачу на с++, вот условие: Создать файл вещественных чисел за один просмотр файла вывести на экран каждое...

Преобразовать каждое слово в тексте: если слово нечётной длины, то удалить его среднюю букву - C++
Задан текст. Между словами - пробел, за последним символом точка. Вывести текст, предварительно преобразовав каждое слово: если слово...

Наследование.Геометрические фигуры.Коллекция геометрических фигур.Непонятна работа с массивом - C++
Всем доброго времени суток,у меня такое задание : Реализовать иерархию классов геометрических фигур. На вершине иерархии находится...

Перевернуть каждое слово в строке - C++
Дана строка, слова отделены пробелами, точками с запятыми, запятыми и т.д. Перевернуть каждое слово в строке. Массив использовать нельзя....


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

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

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