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

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

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

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

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

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

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

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