zadach460.PAS

{* Задача 460 *}

Unit ZADACH460;
Interface
Implementation
Begin
 writeln('Дан двумерный массив а, размером (n x n) (или квадратная матрица а). Найти среднее геометрическое элементов, нижней треугольной матрицы, расположенной ниже побочной диагонали, включая саму побочную диагональ. ');
End.

Program zadach460;

Uses zadach460.pas; {* Эту строку можно удалить *}
Const {* Константы *}
  n = 4;
Var {* Объявление переменных *}
  a   : Array [1..n, 1..n] Of integer;
  i   : integer;
  j   : integer;
  k   : integer;
  p   : integer;
  srg : real;
Begin
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
    For j := 1 To n Do {* Увеличиваем j от 1 до n с шагом 1 *}
      a[i, j] := random(10) - 5;
  For i := 1 To n Do {* Цикл для i => [1 .. n] *}
  Begin
    For j := 1 To n Do {* Цикл для j => [1 .. n] *}
      write (a[i, j] : 4);
    writeln; {* Пустая строка *}
  End;
  k := 0;
  p := 1;
  For i := 1 To n Do {* Увеличиваем i от 1 до n с шагом 1 *}
    For j := 1 To n Do {* Увеличиваем j от 1 до n с шагом 1 *}
      If i + j> = n+1 Then
      Begin
        k := k + 1;
        p := p * a[i, j];
      End;
  srg := exp(1 / k*ln(p));
  writeln ('Среднее геометрическое равно:', srg : 3:3);
End.