1. Нахождение наибольшего элемента главной диагонали. (Паскаль, двумерные массивы ) 2....

0 голосов
84 просмотров

1. Нахождение наибольшего элемента главной диагонали. (Паскаль, двумерные массивы )

2. Нахождение наименьших элементов в столбцах массива. (Паскаль, двумерные массивы )


Информатика (112 баллов) | 84 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Всё, что находится между комментариями {1+}...{1-} относится к первой программе, {2+}...{2-} — ко второй.

const
  n = 5;
 
type
  matrix = array[1..n, 1..n] of integer;
  {2+}
  row = array[1..n] of integer;
  {2-}
 
{1+}
function maxElemOfMainDiag(m: matrix): integer;
var
  i, max: integer;
begin
  max := m[1, 1];
  for i := 2 to n do
    if m[i, i] > max then 
      max := m[i, i];
  maxElemOfMainDiag := max;
end;
{1-}
 
{2+}
function minElemOfColumns(m: matrix): row;
var
  i, j: integer;
  r: row;
begin
  for i := 1 to n do
  begin
    r[i] := m[1, i];
    for j := 2 to n do
      if m[j, i] < r[i] then
        r[i] := m[j, i];
  end;
  minElemOfColumns := r;
end;
{2-}
 
var
  m: matrix;
  {2+}
  r: row;
  {2-}
  i, j: integer;
 
begin
  writeln('Исходный массив:');
  randomize;
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      m[i, j] := random(100) + 1;
      write(m[i, j]:4);
    end;
    writeln;
  end;
  {1+}
  writeln('Максимальный элемент главной диагонали равен ', maxElemOfMainDiag(m));
  {1-}
  {2+}
  r := minElemOfColumns(m);
  writeln('Минимальные элементы столбцов:');
  for i := 1 to n do
    write(r[i]:4);
  writeln;
  {2-}
end.
 
Пример вывода:
Исходный массив:
  22  13  80  77  14
  50  86  49  22   7
  88  68  48  27  79
 100   3  11  43  94
  85  30  53  34   9
Максимальный элемент главной диагонали равен 86
Минимальные элементы столбцов:
  22   3  11  22   7


(148k баллов)