В матрицах 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.
Объяснение кода листинга программы
- Создаются две матрицы типа TMatrix.
- В каждой из матриц случайным образом заполняются элементы.
- Вычисляются индексы максимальных элементов в каждой матрице с помощью процедуры GetMax.
- Записывается вывод на экран с помощью процедур mWrite.
- Меняются местами максимальные элементы двух матриц.
- Записывается второй вывод на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д