Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 15 Следующий »

Срок выполнения:

Задание
  1. Постройте конечный автомат (схему переходов), который преобразует входной поток символов в выходной по вашему заданию (варианты ниже).
    Автомат должен распознать во входном потоке все подходящие подпоследовательности.

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

Примеры

Копирование: char01-copy.cpp

Удаление пробелов: char02-del-space.cpp

Удаление пробелов, табуляций, концов строк: char03-del-space-tab-nl.cpp

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

Замена пробельных цепочек на один пробел: char05.pdf   char05-compress-ws.cpp

Автоматы

Схема автомата для копирования (программа выше): 01-copy.pdf

Автомат удаления пробелов (программа выше): 02-remove-space.pdf

Автомат удаления пробелов и табуляций (программа выше): 03-remove-space-tab.pdf  вариации программы: 03-1.cpp  03-3.cpp  03-4.cpp

Вывод слов, ограниченных пробелами и начинающихся с p: p-words.pdf  программы: p-words-1.cpp  p-words-2.cpp

Варианты

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

 

  • Нет меток