Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
cpp2_2008.doc
Скачиваний:
18
Добавлен:
04.11.2018
Размер:
201.73 Кб
Скачать

Вариант 28

Из входного потока вводится произвольное число строк, состоящих из последовательности десятичных чисел и слов, разделённых одним или несколькими пробелами, знаками табуляции, запятой, точкой с запятой или точкой. Длина каждой строки не превышает 80 символов. Конец ввода определяется концом файла. В программе в виде констант задан ключ шифровки для букв, цифр, разделителей и знаков препинания.

При обработке каждой строки сформировать новую строку, поместив в неё зашифрованный текст (восьмиразрядные числа). Числа в образованной строке должны быть разделены только одним пробелом. Полученную строку вывести на экран.

Разработать следующие варианты программы:

  1. каждая строка представлена массивом символов, доступ к элементам массива осуществляется с помощью указателей;

    1. при обработке строки (строк) использовать библиотечные функции (<string.h>);

    2. библиотечные функции обработки строки не использовать.

  2. каждая строка представлена списком; первое поле элемента списка - символ строки; второе - указатель на следующий элемент списка или NULL в конце списка;

    1. при обработке исходного списка (исходных списков) формировать новый список (списки);

    2. список результата формировать, модифицируя исходный список.

Примечания:

  1. Ввод строк должен быть организован с помощью метода cin.getline(куда, максимум_сколько). Метод cin >> куда не использовать!

  2. Логически-законченные части алгоритма программы оформлять функциями с параметрами (например, пропуск разделителей, построении списка, вывод списка, удаление списки и др.).

Вариант 29

Из входного потока вводится произвольное число строк. Каждая строка представляет собой последовательность слов, разделенных одним или несколькими пробелами и/или символами табуляции. Длина каждой строки не превышает 80 символов. Конец ввода определяется концом файла.

Для каждой строки сформировать новую строку, поместив в нее слова исходной строки, начинающиеся и заканчивающиеся на те же буквы, что и первое слово в строке. В полученной строке слова разделять только одним пробелом и вывести на экран.

Разработать следующие варианты программы:

  1. каждая строка представлена массивом символов, доступ к элементам массива осуществляется с помощью указателей;

    1. при обработке строки (строк) использовать библиотечные функции (<string.h>);

    2. библиотечные функции обработки строки не использовать.

  2. каждая строка представлена списком; первое поле элемента списка - символ строки; второе - указатель на следующий элемент списка или NULL в конце списка;

    1. при обработке исходного списка (исходных списков) формировать новый список (списки);

    2. список результата формировать, модифицируя исходный список.

Примечания:

  1. Ввод строк должен быть организован с помощью метода cin.getline(куда, максимум_сколько). Метод cin >> куда не использовать!

  2. Логически-законченные части алгоритма программы оформлять функциями с параметрами (например, пропуск разделителей, построении списка, вывод списка, удаление списки и др.).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]