Определить, является ли заданная матрица n х n симметричной относительно главной диагонали- Pascal(Паскаль)

Исходная матрица (матрицы) должны считываться из заранее подготовленного текстового файла, в котором записана квадратная матрица размером не менее 6 строк и 6 столбцов. Числа, определяющие размер исходной матрицы (n или n, m) и другие скалярные исходные данные должны вводиться с клавиатуры.
После завершения работы программы исходная матрица и результаты работы программы должны быть выведены на экран и в текстовый файл.
var
  a: array[1..20, 1..20] of real;
  n, i, j, k: integer;
  f1, f2: text;
begin
  write('Размер матрицы=');
  read(n);  
  Assign(f1, 'C:\pi-12d\matrica.txt');
  reset(f1);
  Assign(f2, 'C:\pi-12d\matrichhha.txt');
  rewrite(f2);  
  for i:=1 to n do begin
  for j:=1 to n do read(f1,a[i,j]);
  readln(f1);
  end;
  writeln('Исходный массив:');
  for i := 1 to n do
  begin
    for j := 1 to n do 
   write(a[i,j]:2, ' ');
   writeln;
  end;
  close(f1); 
  k := 0;
  for i := 2 to n do
    for j := 1 to i - 1 do
      if a[i, j] <> a[j, i] then
      begin
        k := 1;
        break;
      end;
  if k = 0 then write('Симметрична!')
  else write('Не симметрична!');
  for i:=1 to n do begin
    for j:=1 to n do  write(f2, a[i,j]:2, ' ');writeln(f2);end;
  if k = 0 then write(f2, 'Симметрична!')
  else write(f2, 'Не симметрична!');
  close(f2);
end.

Leave a Comment

+ 72 = 79