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

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

Восстановить пароль Регистрация
 
Bratiwka
0 / 0 / 0
Регистрация: 07.09.2014
Сообщений: 4
07.09.2014, 23:03     Объясните как работает программа, которая заменяет 2 и больше подряд идущих пробела на один #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++
C++ Создать програму, которая в символьном масиве находит наибольшое количество цифр идущих подряд
Работа с функциями. Подсчитать наибольшее количество идущих подряд символов пробела C++
C++ Объясните, как работает программа
C++ Замените в тексте входного файла все группы подряд идущих пробелов на один пробел
Удалить из текста лишние пробелы (из нескольких подряд идущих пробелов оставить только один) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14193 / 6208 / 985
Регистрация: 02.05.2013
Сообщений: 10,342
Завершенные тесты: 1
07.09.2014, 23:19     Объясните как работает программа, которая заменяет 2 и больше подряд идущих пробела на один #2
На каждом шаге в файл пишется текущий символ, но только в том случае, если это
не пробел (p==0), либо это пробел, но самый первый в последовательности (p==1).
Yandex
Объявления
07.09.2014, 23:19     Объясните как работает программа, которая заменяет 2 и больше подряд идущих пробела на один
Ответ Создать тему
Опции темы

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