Задача 9.2.
Заполнить двумерный числовой массив Q [5, 5] целыми числами. Найти среднее арифметическое положительных элементов главной диагонали массива. При выводе массива выделить красным цветом положительные элементы главной диагонали.
Математическая формулировка задачи:
Главная диагональ квадратной матрицы имеет ту особенность, что номера строк и столбцов элементов главной диагонали совпадают, то есть у этих элементов i=j.
Таким образом, у нашего массива элементы главной диагонали будут: Q[1, 1]; Q[2, 2,]; Q[3, 3,]; Q[4, 4]; Q[5, 5]. Чтобы найти среднее арифметическое положительных элементов главной диагонали массива, нужно подсчитать сумму положительных элементов главной диагонали и их количество. Затем необходимо разделить сумму на количество (после выхода из цикла подсчета суммы).
Как при выводе массива выделить красным цветом положительные элементы главной диагонали? Организуем цикл вывода массива и будем проверять, является ли элемент массива положительным и к тому же принадлежащим главной диагонали. Если да, то установим цвет вывода красный, а иначе белый.
Текст программы к задаче 9. 2.
ProgramEx_9_2;
Uses Crt;
TypeMas = array [1..5, 1..5] of integer;
{объявляем тип массив
из 5 строк и 5 столбцов}
Var
Q : Mas; {переменная Q типа массив }
Sr: real; {среднее арифметическое}
k: integer; {количество}
i, j: integer; {индексы массива }
Begin
ClrScr; {очищение экрана}
Textcolor(7); {цвет текста белый}
Randomize;
For i:=1 to 5 do begin
For j:=1 to 5 do begin
Q [i, j]:=random(200)-100;
{ ввод элементов массива случайным образом }
Write(Q [i, j]);
End;
Writeln;
End;
For i:=1 to 5 do begin
IfQ[i, i]>0 then begin
k:=k+1;
S:=S+Q[ i, i]; { подсчет количества и суммы положительных элементов массива }
End;
End;
Sr:=S/k;
Writeln( ‘Sr=‘, Sr);
For i:=1 to 5 do begin
For j:=1 to 5 do begin
{ окрашивание положительных эл-ов главной диагонали}
If (i=j) and (Q[i, j]>0) then
Textcolor(4)
else Textcolor(7);
Write(Q [i, j]);
End;
Writeln;
End;
Readln;
End.