Выполните приведенные ниже задания и приложите файл с исходным кодом.
1)Сформировать однонаправленный список, тип информационного поля указан в варианте.
2)Распечатать полученный список.
3) Выполнить обработку списка в соответствии с заданием.
4) Распечатать полученный список.
5)Удалить список из памяти.
3.Для решения задачи сформируйте двунаправленный список с символьным информационным полем. Дана последовательность латинских букв, оканчивающаяся точкой. Среди букв есть специальный символ Ch, появление которого означает отмену предыдущего символа. Учитывая вхождение этого символа, преобразуйте последовательность.
4.Для решения задачи сформируйте двунаправленный список. Даны действительные числа a1, a2, ..., a2n (n>= 2, заранее неизвестно и вводится с клавиатуры). Вычислите: max(min(a1, a2n), min(a3, a2n-2), ... , min (a2n-1, a2)).
5.а) Напишите две рекурсивных функции "print_list_forwards(...)" и "print_list_backwards(...)", которые должны печатать на экране содержимое связного списка, рассмотренного в лекции, соответственного в прямом и об-ратном порядке. (Функция "print_list_forwards(...)" должна вести себя точно так же, как и функция "print_list(...)" из лекции). Измените программу лекции так, чтобы проверить свои функции. Ваша программа должна выдавать на экран следующие сообщения:
Введите первое слово (или '.' для завершения списка): это
Введите следующее слово (или '.' для завершения списка): короткое
Введите следующее слово (или '.' для завершения списка): тестовое
Введите следующее слово (или '.' для завершения списка): сообщение
Введите следующее слово (или '.' для завершения списка): .
ПЕЧАТЬ СОДЕРЖИМОГО СПИСКА В ПРЯМОМ ПОРЯДКЕ:
это короткое тестовое сообщение
ПЕЧАТЬ СОДЕРЖИМОГО СПИСКА В ОБРАТНОМ ПОРЯДКЕ:
сообщение тестовое короткое это
б) Напишите и протестируйте итерационный (т.е. нерекурсивный) вариант функции "print_list_backwards(...)". (Какой вариант функции вам показался проще в разработке?)
Функция из лекции:
void print_list( node_ptr a_list )
{
while ( a_list != NULL )
{
cout <word << " ";
a_list = a_list->ptr_to_next_node;
}
}
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |