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

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

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

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

07.09.2014, 23:03. Просмотров 275. Ответов 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й строке прибавляя к счетчику единицу мы добиваемся эффекта. Всем спасибо за ответы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2014, 23:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объясните как работает программа, которая заменяет 2 и больше подряд идущих пробела на один (C++):

Работа с функциями. Подсчитать наибольшее количество идущих подряд символов пробела - C++
Помогите пожалуйста)) Задание: Заданы натуральное число n, символы S1, ... , Sn Подсчитать наибольшее количество идущих подряд символов...

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

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

В списке L из каждой группы подряд идущих элементов с равными значениями оставить только один - C++
В списке L из каждой группы подряд идущих элементов с равными значениями оставить только один.

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

Описать функцию, которая подсчитывает максимальное количество символов, идущих подряд в строке - C++
Добрый день! Дали задание, но не совсем ясно, а выполнить надо. Просьба написать: a)функцию, которая подсчитывает максимальное...

1
Убежденный
Системный программист
Эксперт С++
15637 / 7147 / 1131
Регистрация: 02.05.2013
Сообщений: 11,586
Записей в блоге: 1
Завершенные тесты: 1
07.09.2014, 23:19 #2
На каждом шаге в файл пишется текущий символ, но только в том случае, если это
не пробел (p==0), либо это пробел, но самый первый в последовательности (p==1).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2014, 23:19
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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