| Код | program AnyutkaM; const n=6;{размерность матрицы} type TMatrix=array[1..n,1..n] of integer;{описание типа матрицы} procedure CreateRandomMatrix(var Matrix:TMatrix); {процедура заполнения матрицы случайными числами} const ToRnd=100;{для randoma} var i,j:integer;{счетчики} begin for i:=1 to n do for j:=1 to n do Matrix[i,j]:=random(ToRnd); end; procedure PrintMatrix(var Matrix:TMatrix); {процедура печати матрицы} var i,j:integer; begin for i:=1 to n do begin for j:=1 to n-1 do write(Matrix[i,j],' '); writeln(Matrix[i,n]); end; end; procedure FindMin(var Matrix:TMatrix;var indexi,indexj:integer); {процедура поиска минимума} var i,j,min:integer; begin indexi:=1; indexj:=1; min:=Matrix[indexi,indexj]; for i:=1 to n do for j:=1 to n do if Matrix[i,j]<min then begin min:=Matrix[i,j]; indexi:=i; indexj:=j; end; end; procedure ChangeElements(var Matrix1,Matrix2:TMatrix;var indexi1,indexj1,indexi2,indexj2:integer); {процедура меняет местами элементы с указаннами индексами в указанных матрицах} var tmp:integer; begin tmp:=Matrix1[indexi1,indexj1]; Matrix1[indexi1,indexj1]:=Matrix2[indexi2,indexj2]; Matrix2[indexi2,indexj2]:=tmp; end; var Matrix1,Matrix2:TMatrix; indexi1,indexj1,indexi2,indexj2:integer; begin randomize; CreateRandomMatrix(Matrix1); CreateRandomMatrix(Matrix2); writeln('First source matrix:'); PrintMatrix(Matrix1); writeln('Second source matrix:'); PrintMatrix(Matrix2); FindMin(Matrix1,indexi1,indexj1); FindMin(Matrix2,indexi2,indexj2); ChangeElements(Matrix1,Matrix2,indexi1,indexj1,indexi2,indexj2); writeln('First matrix after changing elements:'); PrintMatrix(Matrix1); writeln('Second matrix after changing elements:'); PrintMatrix(Matrix2); readln; end.
| |