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

Вариант 8

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

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

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

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

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

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

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

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

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

Примечания:

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

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

Вариант 9

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

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

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

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

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

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

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

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

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

Примечания:

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

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

Вариант 11

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

Для каждой строки сформировать новую строку, поместив в нее из каждого двоичного кода только последовательно расположенные пары 01. Группы подряд расположенных пробелов и/или знаков табуляции в исходной строке в новой должны быть заменены только одним пробелом. Полученную строку вывести на экран.

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

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

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

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

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

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

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

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