Работа с элементами выше/ниже/на главной/побочной диагоналях — Pascal(Паскаль)

var
  a: array [1 .. 100, 1 .. 100] of integer;
  N, M, i, j: integer;

begin
  write('N, M -> ');
  readln(N, M); { считываем размер матрицы }
  write('Input matrix -> ');
  for i := 1 to N do
    for j := 1 to M do
    begin
      write('A[', i, ',', j, '] -> ');
      readln(a[i, j]);
    end; { считываем саму матрицу }
  readln;

  writeln('Главная диагональ');
  for i := 1 to N do
  begin
    write(a[i, i], ' ');
    { вы можете не только просто выводить элементы, но и работать с ними. Достаточно знать индексацию нужных элементов }
  end;
  writeln;

  writeln('Побочная диагональ');
  for i := 1 to N do
  begin
    write(a[i, N - i + 1], ' ');
  end;
  writeln;

  writeln('Ниже главной');
  for i := 2 to N do
    for j := 1 to i - 1 do
    begin
      write(a[i, j], ' ');
    end;
  writeln;

  writeln('Выше главной');
  for i := 1 to N - 1 do
    for j := i + 1 to N do
    begin
      write(a[i, j], ' ');
    end;
  writeln;

  writeln('Выше побочной');
  for i := 1 to N - 1 do
    for j := 1 to N - i do
    begin
      write(a[i, j], ' ');
    end;
  writeln;

  writeln('Ниже побочной');
  for i := 2 to N do
    for j := N - i + 2 to N do
    begin
      write(a[i, j], ' ');
    end;
  writeln;
  readln;

end.

Leave a Comment

+ 75 = 82