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

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

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

Объясните как работает программа, которая заменяет 2 и больше подряд идущих пробела на один - C++

07.09.2014, 23:03. Просмотров 267. Ответов 1
Метки нет (Все метки)

Всем доброго времени суток, друзья. Прошу обьяснить мне как работает данная программа, потому как сам не могу додуматься.

#include <stdio.h>

C
1
2
3
4
5
6
7
8
9
10
11
main ()
{
        int c, p;
        p = 0;
        while ((c = getchar()) != EOF) {
                if (c != ' ') p=0;
                if (c == ' ') {p=p+1;}
                if (p <= 1) putchar (c);
 
        }
}
Программа заменяет 2 и больше подряд идущих пробела на один. Я не могу понять, каким именно образом она это делает. Р - это счетчик пробелов, как я понимаю. Каким образом в 7й строке прибавляя к счетчику единицу мы добиваемся эффекта. Всем спасибо за ответы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2014, 23:03     Объясните как работает программа, которая заменяет 2 и больше подряд идущих пробела на один
Посмотрите здесь:

Удалить из текста лишние пробелы (из нескольких подряд идущих пробелов оставить только один) - C++
Вывести на экран заданный текст, удалив из него лишние пробелы, т.е. из нескольких подряд идущих пробелов оставить только один. При...

Заменить в массиве каждую группу из нечетного количества подряд идущих нулей на один нуль - C++
Здравствуйте. Изучаю c++ меньше месяца, помогите решить следующую задачу: &quot;Дан массив с большим количеством нулевых элементов. Размер...

Замените в тексте входного файла все группы подряд идущих пробелов на один пробел - C++
Замените в тексте входного файла все группы подряд идущих пробелов на один пробел. Результат запишите в выходной файл

Создать програму, которая в символьном масиве находит наибольшое количество цифр идущих подряд - C++
Подскажите как создать програму, которая в символьном масиве находит наибольшое количество цыфр идущих одна за одной(подряд).в С++ Буду...

Программа для нахождения к-ой цифры в ряду подряд идущих натуральных чисел. - C++
Найти k-ую цифру в ряду цифр, составленных из подряд идущих натуральных чисел, начиная с 1. Тоесть ряд: 123456789101112131415.... Я...

Объясните как работает программа - C++
Цель задачи была: Возведение X в 59 степень за самое малое количество шагов. 1. Ввод (X); 2. X2 = X*X; 3. X4 = X2*X2; ...

Объясните, как работает программа - C++
Поясните пожалуйста чайнику! Объясните плиз как работает программа, то есть что значит &quot;**&quot; и остальные строки плиз очень прошу!!!! ...

Объясните как работает программа - C++
Данная программа делает подсчёт символов. Помогите разобраться как она работает. Сижу смотрю - и ступор просто #include &lt;stdio.h&gt; ...

Программа, которая заменяет в программе на С++ операторы switch на if. else if - C++
Доброго времени суток! Задали курсовую работу - сделать задачу, суть которой находится в заголовке(Чтобы в программе заменялось switch...

Объясните пожалуйста как работает программа - C++
объясните пожалуйста код с момента появления &quot;bool fl&quot;, как это вообще работает? #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
07.09.2014, 23:19     Объясните как работает программа, которая заменяет 2 и больше подряд идущих пробела на один #2
На каждом шаге в файл пишется текущий символ, но только в том случае, если это
не пробел (p==0), либо это пробел, но самый первый в последовательности (p==1).
Ответ Создать тему
Опции темы

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