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