program zaharmaenkraft;
const n = 10;
type mas = array [1..n, 1..n] of integer;
var a: mas;
i, j, summa1, summa2: integer;
begin
writeln('Дан двумерный массив размерностью 10 на 10. Определить:');
writeln('1) сумму элементов главной диагонали массива;');
writeln('2) среднее арифметическое элементов главной диагонали;');
writeln('3) среднее арифметическое элементов побочной диагонали.');
writeln;
writeln('Созданный массив:');
for i := 1 to n do
for j := 1 to n do
begin
a[i, j] := random(201) - 100;
write(a[i, j], '; ');
if (j = n) then writeln;
end;
writeln;
summa1 := 0;
summa2 := 0;
for i := 1 to n do
for j := 1 to n do
begin
if (i = j) then summa1 := summa1 + a[i, j];
if (j = n - i + 1) then summa2 := summa2 + a[i, j];
end;
writeln('Сумма элементов главной диагонали массива равна ', summa1);
writeln('Среднее арифметическое элементов главной диагонали равно ', summa1 / n : 0 : 1);
writeln('Среднее арифметическое элементов побочной диагонали равно ', summa2 / n : 0 : 1);
readln;
end.
Поделитесь своими знаниями, ответьте на вопрос:
program AndryshaHomenko;
type mas = array of array of integer;
var a: mas;
n, i, j, summa, k: integer;
begin
write('Дан двумерный массив a, размером (n´n)(или квадратная матрица а).');
writeln('Найти среднее арифметическое положительных элементов еѐ побочной диагонали.');
writeln;
writeln('Введите размерность массива: ');
readln(n);
setlength(a, n, n);
summa := 0;
k := 0;
randomize;
for i := 0 to n - 1do
for j := 0 to n - 1 do
begin
a[i, j] := random(201) - 100;
write(a[i, j], '; ');
if (j = n - 1) then writeln;
if ((j = n - i - 1) and (a[i, j] > 0)) then
begin
summa := summa + a[i, j];
k := k + 1;
end;
end;
writeln('Среднее арифметическое положительных элементов побочной диагонали массива равно ', summa / k : 0 : 2);
readln;
end.