Читайте также:
|
|
Для хранения информации естественно задействовать массив структур, каждый элемент которого является структурой с одинаковым набором полей, содержащих соответствующее значение.
Пример 1. Успеваемость группы по шести предметам представлена в табл. 1.
Табл. 2. К примеру 1.
№ | Фамилия | Имя | Оценки по предметам | ||||||
Алексеев | Иван | ||||||||
Васильев | Сергей | ||||||||
… | … | … | … | … | … | … | … | … | … |
Листинг программы, заполняющей массива структур с помощью оператора присваивания.
% Заполнение первой структуры массива
GR201(1).Family = 'Алексеев';
GR201(1).Name = 'Иван';
GR201(1).Year = 1980;
GR201(1).Marks = [5 4 4 5 5 4];
% Заполнение второй структуры массива
GR201(2).Family = 'Васильев';
GR201(2).Name = 'Сергей';
GR201(2).Year = 1981;
GR201(2).Marks = [3 4 4 3 5 4];
% Заполнение третьей структуры массива
GR201(3).Family = 'Кашин';
GR201(3).Name = 'Павел';
GR201(3).Year = 1979;
GR201(3).Marks = [4 3 4 4 5 4];
% Заполнение четвертой структуры массива
GR201(4).Family = 'Серова';
GR201(4).Name = 'Наталья';
GR201(4).Year = 1981;
GR201(4).Marks = [4 3 3 5 4 5];
% Заполнение пятой структуры массива
GR201(5).Family = 'Терехова';
GR201(5).Name = 'Ольга';
GR201(5).Year = 1980;
GR201(5).Marks = [5 5 5 5 4 5];
Задание 2. Добавьте в массив структур студента Иванова Ивана 1980 года рождения, имеющего следующие оценки: 3, 3, 4, 5, 3, 3.
Создание файл-функции, отображающей среднюю успеваемость группы студентов по каждому курсу и представляющей результат в виде столбцевой диаграммы, число столбцов которой равно числу курсов.
function meanmarks = groupprog(GROUP);
% функция вычисляет средний балл студентов по каждому предмету
% и выводит результат в виде столбцевой диаграммы.
% Возвращает массив, каждый элемент которого равен
% среднему баллу по предмету с соответствующим номером
% использование meanmark = groupprog(GROUP)
% GROUP — массив структур с полями
% Family (строка), Name (строка), Year (число),
% Marks (вектор-строка с отметками)
% нахождение числа студентов в группе
N = length(GROUP);
% Определение количества курсов по информации для
% первого студента
Courses = length(GROUP(1).Marks);
% Инициализация массива meanmarks и заполнение его нулями
meanmarks = zeros(1, Courses);
% Перебор курсов и вычисление средней успеваемости
for course = 1:Courses
% Суммирование баллов, полученных каждым из студентов по
% курсу с номером course
for student = 1:N
meanmarks(course) = meanmarks(course) +...
GROUP(student).Marks(course);
end
% Нахождение среднего арифметического
meanmarks(course) = meanmarks(course) / N;
end
% Построение столбцевой диаграммы
bar(meanmarks);
Задание 3. Исправьте файл-функцию groupprog, таким образом, чтобы получить максимальную и минимальную оценку по каждому курсу.
Для студента с номером NN mod 5+1 определите максимальную, минимальную и среднюю оценку.
Дата добавления: 2015-07-15; просмотров: 85 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Структуры | | | Запись строк |