Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Срок выполнения: 25 сентября – 8 октября

Задание

...

...

Напишите программу на Си++, которая работает по созданному автомату.
Символы читать со стандартного входа (std::cin), писать на стандартный выход (std::cout).
Использовать массивы нельзя.
На одной итерации можно выводить несколько символов (только если это действительно необходимо).
Символы в кодовых таблицах могут располагаться произвольно, поэтому для работы с диапазонами символов нужно по возможности использовать функции is... и toupper, tolower. Там, где эти функции не помогают, нужно проверять все символы диапазона явно.

Примеры

Копирование: 01.zip

Удаление пробелов: 02.zip

Удаление пробелов и табуляций: 03.zip

Удаление пробельных символов: 03-4.cpp

Замена пробельных цепочек на один пробел: 04.zip

Вывод слов, начинающихся с p: p.zip

Примеры

 Проверка сбалансированности скобок: par.cpp

Варианты

Расчёт номера своего варианта см. на страницеУспеваемость студентов.

В данной работе:

целое число – строка из десятичных цифр, сразу перед ней может стоять плюс или минус, например: 034023, 656, -0, +534;

тег – строка, обрамлённая угловыми скобками, не может прерываться переходом на новую строку, например: <int>, <>, <<<<q<>, <d d d d >, </>;

комментарий – строка, которая начинается символами /* и заканчивается символами */;

 

0. Вывести целые числа, которые находятся внутри двойных кавычек.

1. Удалить целые числа, которые находятся вне двойных кавычек.

2. Вне комментариев заменить последовательности восклицательных знаков на один восклицательный знак, последовательности вопросительных знаков – на один вопросительный знак, последовательности из восклицательных и вопросительных знаков вперемешку – на ?! .

3. Посчитать теги внутри комментариев.