Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 1к_2sem_5_lists_1112.DOC
Скачиваний:
0
Добавлен:
12.09.2019
Размер:
112.13 Кб
Скачать

Завдання до лабораторних робіт з дисципліни "Основи програмування" Лабораторна робота № 5

Тема: Розробка мовою С++ модулів для обробки списочних структур даних.

Ціль: Придбання навичок розробки процедур та функцій з використанням складних структур даних (списків, черг, дерев), з доступом до елементів за допомогою посилань.

Вимоги до реалізації:

1)Написати допоміжний модуль, функції в якому реалізують операції обробки динамічної структури даних, необхідні для виконання індивідуального завдання, наприклад:

a)ініціалізація списку,

b)занесення елемента у список,

c)видалення елемента зі списку,

d)пошук елемента по ключу,

e)виведення інформації зі списку на екран,

f)занесення інформації зі списку у файл на диск,

g)створення списку з інформації, записаної у файл на диск.

(Не всі ці функції можуть знадобитися або їх перелік може бути поширено, якщо це необхідно.)

2)Використати операції з розробленого модуля для виконання індивідуального завдання.

3)Тестування програми провести на варіантах вхідної інформації, які передбачають різні ситуації у границях обмежень у постановці задачі. Аналіз результатів необхідно провести самостійно до демонстрації програми викладачу та зафіксувати тести у зошиті з розрахунками або посиланнями на відповідні текстові файли (якщо результати не треба перевіряти: наприклад, сортування).

4)Програма повинна супроводжуватися коментарем, якій містить в собі: П.І.Б., шифр групи, умову завдання, примітки (якщо необхідно). Процедури та функції у модулі повинні супроводжуватися коментарем, якій містить в собі: пояснення щодо призначення результату та аргументів функції, розподіл аргументів процедури на вхідні, вихідні та(або) вхіднівихідні (тобто ті, що змінюються).

Індивідуальні завдання Завдання 1

Создать упорядоченный однонаправленный список из N элементов. Поле данных каждого элемента содержит информацию о поезде и имеет следующую структуру:

 номер поезда,

 время отправления,

 время прибытия,

 служебная информация.

Завдання 2

Создать два однонаправленных списка, каждый из которых содержит по N элементов. Область данных каждого элемента содержит целое число. Из двух списков построить новый список. Поле данных каждого i-го элемента результирующего списка (i=1,…,N) содержит максимальное из чисел, содержащихся в полях данных i-х элементов исходных списков. Вывести исходные и результирующие списки. Память, занимаемую элементами исходных списков, освободить.

Завдання 3

Создать двунаправленный список из N элементов. Область данных каждого элемента содержит:

 номер поезда,

 наличие свободных мест: в купейном вагоне, в плацкартном вагоне, в общем вагоне.

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