Задание № 5. Тема: Функции. Динамические массивы и структуры

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

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

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

1. Структура элемента массива сотрудник: фамилия, имя, отчество, возраст, рост. Определить:

- средний рост сотрудников в возрасте 18-20 лет;

- имя самого високого сотрудника;

- ФИО сотрудников, имеющих одинаковый рост.

2. Структура элемента массива анкета: фамилия, имя, отчество, дата рождения (число, месяц, год), домашний адрес (город, улица, дом), оценки в аттестате зрелости (математика, физика, химия), стаж, факультет. Определить абитуриентов с максимальным рабочим стажем на каждом факультете. Названия факультетов определять из массива анкет.

3. Структура элемента массива работник: фамилия, число, месяц и год рождения, пол.

Определить:

- фамилию самого старшего мужчины;

- все фамилии, начинающиеся с заданной буквы;

- список людей, родившихся в заданном месяце.

4. Структура элемента массива аттестационная карточка студента: фамилия, имя, отчество, курс, группа, дата рождения (число, месяц, год), первый семестр (математика, физика, программирование), второй семестр (математика, физика , программирование). Определить средний балл студентов каждой группы в зимней сессии. Номера групп определять из массива аттестационных карт (заранее номера групп неизвестны).

5. Структура элемента массива знакомый: фамилия, номер телефона (5-значный), место жительства - город, улица, дом, квартира.

Определить:

- есть ли в книге телефон заданного человека;

- кому принадлежит заданный телефон;

- список людей, живущих на заданной улице.

6. Структура элемента массива абитуриент: фамилия, имя, отчество, пол, год рождения, домашний адрес (почтовый индекс, город, улица, дом), оценки в аттестате зрелости (математика, физика), факультет. Определить количество городов Украины, из которых прибыли абитуриенты. Названия факультетов определять из массива анкет.

7. Структура элемента массива студент: фамилия, номер группы, оценка по предмету № 1, оценка по предмету № 2, оценка по предмету № 3.

Определить:

- фамилию того, кто лучше всех сдал экзамены;

- средний балл по группе по заданному предмету;

- список должников.

8. Структура элемента массива студент: фамилия, имя, отчество, пол, возраст, № курса.

Определить:

- № курса, на котором учится наибольший процент студентов мужского пола;

- самые распространенные мужские и женские имена (по одному имени);

- список студентов заданного пола заданного курса.

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

10. Структура элемента массива абитуриент-заочник: фамилия, имя, отчество, домашний адрес (город, улица, дом), стаж, место последней работы, наличие прописки. Определить количество абитуриентов из каждого города. Названия городов определять из массива анкет.

11. Структура элемента массива пассажир: фамилия, имя, отчество, номер рейса, количество багажных мест, общий вес.

Определить:

- рейс с максимальным весом багажа;

- пассажира с наибольшим количеством вещей;

- вывести список пассажиров, летящих заданным рейсом, и информацию об их багаже.

12. Структура элемента массива карточка студента: фамилия, имя, отчество, курс, группа, первый семестр (математика, физика, история), второй семестр (математика, физика, черчение), третий семестр (математика, физика, программирование), четвертый семестр (математика, иностранный язык, программирование). Подсчитать количество студентов в каждой группе, сдавших экзамены в летних сессиях за два года только на «хорошо» и «отлично». Номера групп определять из массива аттестационных карт (заранее номера групп неизвестны).

13. Структура элемента массива владелец: фамилия, адрес (строка), марка автомобиля, регистрационный номер, год выпуска.

Определить:

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

- владельца самого старого автомобиля;

- фамилии владельцев и номера автомобилей данной марки.

14. Структура элемента массива аттестационные карточки группы: фамилия, имя, отчество, курс, возраст, первый семестр (математика, физика, программирование), второй семестр (математика, физика, черчение). По аттестационным карточкам группы определить абсолютную успеваемость каждого студента за год. Абсолютная успеваемость - это процентное отношение количества положительных оценок от общего количества оценок.

15. Структура элемента массива ребенок: фамилия, место жительства - город, улица, дом, квартира, пол, количество дней посещения детского сада.

Определить:

- ребенка, который чаще всех болеет;

- кто больше болеет - мальчики или девочки;

- список детей, проживающих на заданной улице.

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

17. Структура элемента массива книга: автор, название, издательство - название, год издания, количество страниц.

Определить:

- есть ли в библиотеке книги данного автора;

- найти книгу с наибольшим количеством страниц;

- найти названия книг данного автора, изданных с указанного года, в данном издательстве.

18. Структура элемента массива товар: наименование, страна, партия - общий объем, объем расфасовки, цена.

Определить:

- страну, в которую экспортируется товар на максимальную сумму;

- список стран, в которые экспортируется данный товар;

- найти товары, имеющие минимальный объем партии, максимальный объем расфасовки.

19. Структура элемента массива карточка студента: фамилия, имя, отчество, курс, факультет, дата рождения (число, месяц, год), первый семестр (математика, физика, физкультура), второй семестр (математика, программирование, черчение). По аттестационным карточкам группы определить качество обучения каждого студента в год. Качество обучения - это процентное отношение количества «четверок» и «пятерок» к общему количеству оценок.

20. Структура элемента массива игрушка: название, цена, возрастной диапазон - нижняя граница, верхняя граница.

Определить:

- название самой дорогой игрушки;

- список игрушек, которые подходят детям заданного возраста;

- подобрать игрушки на заданную сумму денег (все варианты, но не более двух игрушек в комплекте).

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

22. Структура элемента массива игрушка: название, цена, цвет, возрастной диапазон - нижний предел, верхний предел.

Определить:

- названия игрушек, цена которых не превышает заданную и которые подходят детям заданного возраста;

- найти самую дешевую игрушку заданного названия;

- самый распространенный цвет игрушек.

23. Структура элемента массива пассажир: фамилия, номер рейса, багаж - количество вещей, общий вес.

Определить:

- число пассажиров, количество вещей которых превосходит среднее число вещей;

- пассажиров с заданным количеством вещей, суммарный вес которых не превышает заданный;

- вывести информацию о количестве вещей и общем весе вещей для каждого рейса.

24. Структура элемента массива спортсмен: фамилия, страна, год рождения, рейтинговый результат (в баллах), физические данные - рост, вес.

Определить:

- средний рост и вес спортсменов заданной страны;

- найти лучшего спортсмена заданной страны;

- список спортсменов заданного возраста с результатом, не хуже заданного.

25. Структура элемента массива спортсмен: фамилия, имя, отчество, страна, тренер, год рождения, рейтинговый результат (в баллах).

Определить:

- самого молодого спортсмена, занимающегося у заданного тренера;

- тренера лучшего спортсмена из заданной страны;

- список всех тренеров с указанием страны.

Наши рекомендации