Var
m: array [1..31] of integer; //заполненный массив
sr: real; //средняя сумма
sum: integer; //сумма всех элементов
i: integer;
a: integer;//значений выше
b: integer;//значений ниже
c: integer;//равных среднему
begin
for i := 1 to 31 do
sum := sum + m[i];
sr := sum / 31;
for i := 1 to 31 do
if m[i] > sr then
a := a + 1
else if m[i] < sr then
b := b + 1
else c := c + 1;
writeln(a);
writeln(b);
writeln(c);
<span>end.</span>
Поскольку язык не указан, отвечающий вправе использовать любой. В данном случае выбран VBA из состава Microsoft Office 2003 (реализация в среде Excel). Некоторые дамы и господа (обычно школьники и студенты), мнят себя великими программистами и считают семейство языков VB/VBA/VBS недостойным упоминания. Теперь у них есть возможность написать что-то аналогичное на С++/Delphi и сравнить полученные коды с приведенным.
<em><u>Собственно, описание класса Class1:</u></em>
Private Const n = 12
Public Sub HowManySucc(ByRef kol As Integer)
Dim i As Integer, m1 As Integer, m As Integer
kol = 0
m1 = GetInt()
For i = 2 To n
m = GetInt()
If m > m1 Then kol = kol + 1
Next i
End Sub
Private Function GetInt() As Integer
Dim n As Integer
GetInt = Int(Val(InputBox("Введите целое число")))
End Function
<em><u>Вызов для тестирования:</u></em>
Sub aa()
Dim oC As New Class1, k As Integer
oC.HowManySucc k
MsgBox "Целых, больше первого: " + Str(k)
End Sub