По теме:
| Код | program RndMatr; const ToRnd=256;{макс для random} n=8;{макс размерность} type TMatrix=array[1..n,1..n] of byte; procedure InputMatrix(var Matrix:TMatrix;var razm:integer); {создание матрицы} var i,j:integer; begin writeln('Vvedite razmernost(1-8):'); repeat readln(razm); if (razm<1) or (razm>n) then writeln('Neverniy vvod. Perevvedite razmernost(1-8):'); until(razm>0) and (razm<=n); for i:=1 to razm do for j:=1 to razm do Matrix[i,j]:=random(ToRnd); end; procedure PrintMatrix(var Matrix:TMatrix;razm:integer); {печать матрицы} var i,j:integer; begin for i:=1 to razm do begin for j:=1 to razm-1 do write(Matrix[i,j],' '); writeln(Matrix[i,razm]); end; end; procedure SortColumn(var Matrix:TMatrix;razm,col:integer); {сортировка col-го столбца} var i,j:integer; tmp:byte; begin if (col>0) and (col<=razm) then begin for i:=1 to razm-1 do for j:=i+1 to razm do if Matrix[j,col]<Matrix[i,col] then begin tmp:=Matrix[i,col]; Matrix[i,col]:=Matrix[j,col]; Matrix[j,col]:=tmp; end; end; end; var razm:integer; Matrix:TMatrix; begin randomize; InputMatrix(Matrix,razm); writeln('Ishodnaya matrica:'); PrintMatrix(Matrix,razm); SortColumn(Matrix,razm,razm); writeln('Matrica posle sortirovki stolbca:'); PrintMatrix(Matrix,razm); readln; end.
| |