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

Схемы физической структуры данных

Для матриц со случайным расположением элементов:

  1. Три массива, длина которых равна количеству не фоновых элементов: массив для хранения не фоновых элементов и два массива для хранения индексов строки и столбца не фоновых элементов;

  2. Одномерный массив для хранения не фоновых элементов и два вспомогательных массива: один хранит номер столбца не фонового элемента, другой размерностью количества строк матрицы для хранения номера первого не фонового элемента i-той строки в одномерном представлении

Варианты обработки матриц:

  1. Найти максимальный элемент и его позицию в матрице.

  2. Определить индексы и значения всех элементов, превышающих среднее арифметическое значение элементов матрицы.

  3. Определить индексы и значения всех элементов, лежащих в заданном диапазоне (вводится с клавиатуры).

  4. Определить индексы и значения всех элементов, меньших значения (max+min)/2.

  5. Найти разницу между средним арифметическим значением элементов матрицы и значением (max+min)/2.

  6. Определить минимальный положительный элемент матрицы и его индексы.

  7. Определить максимальный отрицательный элемент матрицы и его индексы.

  8. Найти минимальный элемент и его позицию в матрице.

  9. Определить индексы и значения всех элементов, не превышающих среднее арифметическое значение элементов матрицы.

  10. Определить индексы и значения всех элементов, не лежащих в заданном диапазоне (вводится с клавиатуры).

  11. Определить индексы и значения всех элементов, больших значения (max+min)/2.

  12. Найти разницу между средним арифметическим значением элементов матрицы и значением (max-min).

  13. Определить минимальный по модулю элемент матрицы и его индексы.

  14. Определить максимальный по модулю элемент матрицы и его индексы.

Лабораторная работа № 11.

Тема: Обработка динамических структур.

Цель работы: получить практические навыки организации и обработки связных списков.

Ход работы:

  1. Выбрать вариант задания.

  2. Реализовать заданную структуру данных. Для каждой структуры данных реализовать операции создания и удаления всего списка, а также добавления и удаления узлов.

  3. Разработать алгоритм, реализующий индивидуальное задание.

  4. Реализовать алгоритм.

  5. Подготовить отчет о выполнении лабораторной работы.

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

Варианты задания:

1. Описать структуру Student, содержащую следующие поля: фамилия и инициалы; номер группы; успеваемость (массив из пяти элементов).

Написать программу, выполняющую следующие действия:

  • упорядочить записи по возрастанию номера группы;

  • вывести фамилии и номера групп для студентов, средний балл которых больше 4,0;

  • если таких студентов нет, вывести соответствующее сообщение.

2. Описать структуру Student, содержащую следующие поля: фамилия и инициалы; номер группы; успеваемость (массив из пяти элементов).

Написать программу, выполняющую следующие действия:

  • упорядочить записи по возрастанию среднего балла;

  • вывести ведомость на получение стипендии: фамилии и номера групп для студентов, которые имеют оценки 4 и 5;

  • если таких студентов нет, вывести соответствующее сообщение.

3. Описать структуру Student, содержащую следующие поля: фамилия и инициалы; номер группы; успеваемость (массив из пяти элементов).

Написать программу, выполняющую следующие действия:

  • упорядочить записи по алфавиту;

  • вывести фамилии и номера групп для студентов, которые имеют хотя бы одну оценку 2;

  • если таких студентов нет, вывести соответствующее сообщение.

4. Описать структуру Aeroflot, содержащую следующие поля: название пункта назначения; номер рейса; тип самолета.

Написать программу, выполняющую следующие действия:

  • упорядочить записи по номеру рейса;

  • вывести номера рейсов и типы самолетов, вылетающих в пункт назначения, название которого вводится с клавиатуры;

  • если таких рейсов нет, вывести соответствующее сообщение.

5. Описать структуру Aeroflot, содержащую следующие поля: название пункта назначения; номер рейса; тип самолета.

Написать программу, выполняющую следующие действия:

  • упорядочить записи в алфавитном порядке по названиям пунктов назначения;

  • вывести номера рейсов и пункты назначения, обслуживаемых самолетами, тип которых вводится с клавиатуры;

  • если таких рейсов нет, вывести соответствующее сообщение.

6. Описать структуру Train, содержащую следующие поля: название пункта назначения; номер поезда; время отправления.

Написать программу, выполняющую следующие действия:

  • упорядочить записи в алфавитном порядке по названиям пунктов назначения;

  • вывести информацию о поездах, отправляющихся после введенного с клавиатуры времени;

  • если таких поездов нет, вывести соответствующее сообщение.

7. Описать структуру Train, содержащую следующие поля: название пункта назначения; номер поезда; время отправления.

Написать программу, выполняющую следующие действия:

  • упорядочить записи по времени отправления поездов;

  • вывести информацию о поездах, направляющихся в пункт назначения, введенный с клавиатуры;

  • если таких поездов нет, вывести соответствующее сообщение.

8. Описать структуру Train, содержащую следующие поля: название пункта назначения; номер поезда; время отправления.

Написать программу, выполняющую следующие действия:

  • упорядочить записи по номерам поездов;

  • вывести информацию о поездах, номера которых введены с клавиатуры;

  • если таких поездов нет, вывести соответствующее сообщение.

9. Описать структуру Worker, содержащую следующие поля: фамилия и инициалы работника; название занимаемой должности; год поступления на работу.

Написать программу, выполняющую следующие действия:

  • упорядочить записи в алфавитном порядке;

  • вывести информацию о работниках, чей стаж работы превышает значение, введенное с клавиатуры;

  • если таких работников нет, вывести соответствующее сообщение.

10. Описать структуру Marsh, содержащую следующие поля: название пункта назначения; название пункта отправления; номер маршрута.

Написать программу, выполняющую следующие действия:

  • упорядочить записи по номерам маршрутов;

  • вывести информацию о маршруте, номер которого введен с клавиатуры;

  • если таких маршрутов нет, вывести соответствующее сообщение.

11. Описать структуру Price, содержащую следующие поля: название товара; название магазина, где он продается; стоимость товара.

Написать программу, выполняющую следующие действия:

  • упорядочить записи в алфавитном порядке по наименованию товара;

  • вывести информацию о товаре, название которого введено с клавиатуры;

  • если таких товаров нет, вывести соответствующее сообщение.

12. Описать структуру Price, содержащую следующие поля: название товара; название магазина, где он продается; стоимость товара.

Написать программу, выполняющую следующие действия:

  • упорядочить записи в алфавитном порядке по наименованию магазинов;

  • вывести информацию о товарах, продающихся в магазине, название которого введено с клавиатуры;

  • если таких магазинов нет, вывести соответствующее сообщение.

13. Описать структуру Order, содержащую следующие поля: расчетный счет плательщика; расчетный счет получателя; перечисляемая сумма.

Написать программу, выполняющую следующие действия:

  • упорядочить записи в алфавитном порядке по расчетным счетам плательщиков;

  • вывести информацию о сумме, снятой с расчетного счета плательщика, название которого введено с клавиатуры;

  • если такого счета нет, вывести соответствующее сообщение.

14. Описать структуру Order, содержащую следующие поля: расчетный счет плательщика; расчетный счет получателя; перечисляемая сумма.

Написать программу, выполняющую следующие действия:

  • упорядочить записи в порядке возрастания перечисляемых сумм;

  • вывести информацию о плательщике, с расчетного счета которого снята наибольшая сумма и переведена на расчетный счет получателя, название которого введено с клавиатуры;

  • если такого счета нет, вывести соответствующее сообщение.

15. Описать структуру Student, содержащую следующие поля: фамилия и инициалы; название группы (буквы и цифры); успеваемость (массив из пяти элементов).

Написать программу, выполняющую следующие действия:

  • упорядочить записи по возрастанию среднего балла;

  • вывести фамилии и названия групп для студентов, которые имеют одинаковую фамилию;

  • вывести наибольшее количество однофамильцев;

  • если таких студентов нет, вывести соответствующее сообщение.

16. . Описать структуру Student, содержащую следующие поля: фамилия и инициалы; номер группы; успеваемость (массив из пяти элементов).

Написать программу, выполняющую следующие действия:

  • упорядочить записи по алфавиту;

  • вывести фамилии и номера групп для студентов, которые имеют оценки 4 и 5;

  • вывести список студентов заданной группы (номер группы ввести с клавиатуры);

  • если таких студентов нет, вывести соответствующее сообщение.

17. Описать структуру Auto, содержащую следующие поля: марка; номер; фамилия владельца.

Написать программу, выполняющую следующие действия:

  • вывести фамилии владельцев и номера автомобилей данной марки (марку ввести с клавиатуры), упорядочив записи по алфавиту;

  • вывести количество автомобилей каждой марки;

  • если автомобилей данной марки нет, вывести соответствующее сообщение.

18. Описать структуру Book, содержащую следующие поля: фамилия автора; название и год издания;

Написать программу, выполняющую следующие действия:

  • вывести названия книг данного автора, упорядочив записи по алфавиту (фамилию автора ввести с клавиатуры);

  • вывести список книг, которые прослужили более 10 лет;

  • если таких книг нет, вывести соответствующее сообщение.

19. Описать структуру Cubic, содержащую следующие поля: длина ребра в сантиметрах; цвет; материал, из которого он изготовлен;

Написать программу, выполняющую следующие действия:

  • вывести данные о кубиках, длина ребра которых больше 5 сантиметров;

  • вывести данные о кубиках, изготовленных из заданного материала (название материала ввести с клавиатуры);

  • если таких кубиков нет, вывести соответствующее сообщение.

20. Описать структуру Cubic, содержащую следующие поля: длина ребра в сантиметрах; цвет; материал, из которого он изготовлен;

Написать программу, выполняющую следующие действия:

  • вывести данные о кубиках, упорядочив по убыванию длины ребра;

  • вывести данные о кубиках, заданного цвета (цвет ввести с клавиатуры);

  • если таких кубиков нет, вывести соответствующее сообщение.

Варианты динамических структур:

  1. односвязный список,

  2. двусвязный список,

  3. кольцевой список,

  4. стек,

  5. очередь

29