В матрицах x и y поменять местами максимальные элементы - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите,пожалуйста составить программу: В произвольных матрицах x и y размера 5х4 определить максимальные элементы и поменять их значения местами.Но так чтобы вывелись 2 матрицы,где мы их поменяли местами

Решение задачи: «В матрицах x и y поменять местами максимальные элементы»

textual
Листинг программы
type TMatrix=array [1..4,1..5] of Integer;
 
procedure mGen(var a: TMatrix);
var i, j: Integer;
begin
  for i:=Low(a) to High(a) do for j:=Low(a[Low(a)]) to High(a[Low(a)]) do
    a[i,j]:=Random(100);
end;
 
procedure mWrite(const a: TMatrix; const s: String);
var i, j: Integer;
begin
  WriteLn(s);
  for i:=Low(a) to High(a) do begin
    for j:=Low(a[Low(a)]) to High(a[Low(a)]) do Write(a[i,j]:3); WriteLn;
  end;
end;
 
procedure GetMax(const a: TMatrix; var mi, mj: Integer);
var i, j: Integer;
begin
  mi:=Low(a); mj:=Low(a[Low(a)]);
  for i:=Low(a) to High(a) do for j:=Low(a[Low(a)]) to High(a[Low(a)]) do
    if a[mi,mj]<a[i,j] then begin mi:=i; mj:=j; end;
end;
 
var
  x, y: TMatrix;
  xi, xj, yi, yj, t: Integer;
begin
  Randomize;
  mGen(x); mGen(y);
  GetMax(x,xi,xj); GetMax(y,yi,yj);
  mWrite(x,'X ='); mWrite(y,'Y ='); 
  WriteLn('Xmax at ',xi,',',xj,'; Ymax at ',yi,',',yj);
  t:=x[xi,xj]; x[xi,xj]:=y[yi,yj]; y[yi,yj]:=t;
  mWrite(x,'X''='); mWrite(y,'Y''=');
end.

Объяснение кода листинга программы

  1. Создаются две матрицы типа TMatrix.
  2. В каждой из матриц случайным образом заполняются элементы.
  3. Вычисляются индексы максимальных элементов в каждой матрице с помощью процедуры GetMax.
  4. Записывается вывод на экран с помощью процедур mWrite.
  5. Меняются местами максимальные элементы двух матриц.
  6. Записывается второй вывод на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы