Напрашивается двухмерный массив. (или какой там) в строчку будут располагаться цифры от 1 до 12. Под каждой цифрой пусть будет вторая строка - дней в году. Названия месяца и названия сезона текстовые, по этому легче сделать через case of (паскаль), но если требуют массивы, то создаем массив с переменной string и называем первую строчку от января до декабря. Вторую - названия сезонов. Зима,зима, весна,весна,весна,лето,лето,лето и т.д. Массивы заполняешь программно в коде. А потом просто проверка какой номер задан. Допустим 5. ищем элемент с икс координатой 5 и смотрим что во второй строке - кол-во дней. Запоминаем. Смотрим в текстовом массиве 5ый стобик. Берем первую строку - название месца. Запоминаем. Берем вторую строку - сезон. Запоминаем. Делаем проверку на первое/последнее место и ВЫВОДИМ.
var
ar: array of integer;
n, k2, k3, k4, k5, i: integer;
r: real;
begin
write('Сколько учеников?');
readln(n);
setlength(ar, n);
writeln('Введите оценки:');
for i := 0 to n - 1 do
begin
readln(ar[i]);
case ar[i] of
2: inc(k2);
3: inc(k3);
4: inc(k4);
5: inc(k5);
else
writeln('Не оценка');
exit;
end;
end;
writeln('2:', k2);
writeln('3:', k3);
writeln('4:', k4);
writeln('5:', k5);
write('Успеваемость=', (k3 + k4 + k5) / n * 100:0:1);
end.
Пример ввода:
Сколько учеников?6
Введите оценки:
2
2
3
4
5
5
Пример вывода:
2:2
3:1
4:1
5:2
Успеваемость=66.7