Ребят, подскажите, пожалуйста, как решить задачку: Если заданная квадратная целочисленная матрица является треугольной(эл-ты выше главной диагонали = 0) вычислить ее среднее арифметическое, иначе определить, сколько элементов, лежащих выше главной диагонали не равны 0. Заранее спасибо.
Если кому понадобится - вот решение за один проход по матрице:
const n = 5; amount = ((sqr(n) - n) div 2) + n;
type mx = array[1 .. n, 1 .. n] of integer;
function get_s(const a: mx; var is_triangle: boolean): real; var s: real; i, j, count: integer; begin s := 0; count := 0; for i := 1 to n do for j := 1 to n do if (j > i) then begin if a[i, j] > 0 then inc(count) end else s := s + a[i, j];
is_triangle := (count = 0); if is_triangle then s := s / amount else s := count;