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

Вариант 14

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

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

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

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

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

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

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

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

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

Примечания:

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

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

Вариант 16

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

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

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

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

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

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

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

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

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

Примечания:

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

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

Вариант 17

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

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

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

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

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

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

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

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

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

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