Ну вроде так...
| Код | program ChanMatr; const n=6;{кол-во строк} m=9;{кол-во столбцов} type TMatrix=array[1..n,1..m] of real; procedure CreateRandomMatrix(var Matrix:TMatrix); {создание случайной матрицы} var i,j:integer; begin for i:=1 to n do for j:=1 to m do Matrix[i,j]:=10*random; end; procedure InputMatrix(var Matrix:TMatrix);{ввод матрицы} var i,j:integer; begin writeln('Please enter matrix(',n,'x',m,'):'); for i:=1 to n do begin for j:=1 to m-1 do read(Matrix[i,j]); readln(Matrix[i,m]); end; end; procedure PrintMatrix(var Matrix:TMatrix);{печать маирицы} var i,j:integer; begin for i:=1 to n do begin for j:=1 to m-1 do write(Matrix[i,j]:5:2); writeln(Matrix[i,m]:5:2); end; end; function FindMinStringIndex(var Matrix:TMatrix):integer;{поиск номера строки с первым мин. эл-ом} var i,j,index:integer; min:real; begin min:=Matrix[1,1]; index:=1; for i:=1 to n do for j:=1 to m do if Matrix[i,j]<min then begin min:=Matrix[i,j]; index:=i; end; FindMinStringIndex:=index; end; function FindMaxStringIndex(var Matrix:TMatrix):integer;;{поиск номера строки с первым макс. эл-ом} var i,j,index:integer; max:real; begin max:=Matrix[1,1]; index:=1; for i:=1 to n do for j:=1 to m do if Matrix[i,j]>max then begin max:=Matrix[i,j]; index:=i; end; FindMaxStringIndex:=index; end; procedure ReplaceStrings(var Matrix:TMatrix;x,y:integer);{замена i-ой и j-ой строки} var j:integer; tmp:real; begin if x<>y then begin for j:=1 to m do begin tmp:=Matrix[x,j]; Matrix[x,j]:=Matrix[y,j]; Matrix[y,j]:=tmp; end; end; end; var Matrix:TMatrix; begin InputMatrix(Matrix);{если ввод маирицы не нужен, то заменить наCreateRandomMatrix(Matrix)} writeln('Source matrix:'); PrintMatrix(Matrix); ReplaceStrings(Matrix,FindMinStringIndex(Matrix),FindMaxStringIndex(Matrix)); writeln('Matrix after replacing:'); PrintMatrix(Matrix); readln; end.
| |