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

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

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. стек.