Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите с 2 матрицами и одномерным массивом
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
I am
Помогите пожалуйста!
Такое вот задание: Даны две матрицы, 3х3 и 5х5. В каждой найти минимальный элемент в главной диагонали и максимальный элемент в побочной, и объединить их в одномерный массив.
Я тут уже кой-чего настрочил. Не знаю, правильно или нет... В любом случае, я не знаю как объединить в одномерный массив...

Program matx;
Var a:array[1..3,1..3] of integer; b:array[1..5,1..5] of integer;
c:array[1..4] of integer;
min,max,min2,max2,i,j,k,l:integer;
begin
for i:=1 to 3 do
for j:=1 to 3 do readln(a[i,j]);
for k:=1 to 5 do
for l:=1 to 5 do readln(b[k,l]);
max:=0; min:=0;
for i:=1 to 3 do
for j:=1 to 3 do begin
if a[i,j]<min then min:=a[i,j];
if a[i,4-i]>max then max:=a[i,j];
end;
min2:=0; max2:=0;
for k:=1 to 5 do
for l:=1 to 5 do begin
if b[k,k]<min2 then min2:=b[k,l];
if b[k,6-k]>max2 then max2:=b[k,l];


Ну вот... А дальше не знаю. Может, даже это неправильно. Паскаль я знаю плохо, помогайте кто-нибудь.
volvo
Не нужны тут вложенные циклы при поиске min/max...
var
  m1: array[1 .. 3, 1 .. 3] of integer;
  m2: array[1 .. 5, 1 .. 5] of integer;
  arr: array[1 .. 4] of integer;
  ...

begin

  { Здесь - ввод значений двух матриц... }

  min := m1[1, 1]; max := m1[1, 1];
  for i := 1 to 3 do begin
    if min > m1[i, i] then min := m1[i, i];
    if max < m1[i, 4 - i] then max := m1[i, 4 - i];
  end;
  arr[1] := min; arr[2] := max;

  ...
  { то же самое для второй матрицы... }
end.
I am
Спасибо. Буду пробовать.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.