Задача 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.