Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- matrica = array [1..10,1..10] of integer;
- matrica1 = array [1..10,1..2] of integer;
- function f(m: matrica; j: byte): integer;
- var
- x,i: integer;
- begin
- x:=0;
- for i:=1 to 10 do
- if (m[i,j]>5) and ((m[i,j] mod 2)=1) then
- x:=x+abs(m[i,j]);
- f:=x;
- end;
- procedure sort(var m: matrica1);
- procedure obmen(var a,b: integer);
- var
- x: integer;
- begin
- x:=a;
- a:=b;
- b:=x;
- end;
- var
- max,maxn: integer;
- i,j: byte;
- begin
- for i:=1 to 9 do
- begin
- max:=m[i,1];
- maxn:=i;
- for j:=i+1 to 10 do
- if m[j,1]>max then
- begin
- max:=m[j,1];
- maxn:=j;
- end;
- if maxn<>i then
- begin
- obmen(m[i,1],m[maxn,1]);
- obmen(m[i,2],m[maxn,2]);
- end;
- end;
- end;
- procedure generate(var m: matrica);
- var
- i,j: byte;
- begin
- randomize;
- for i:=1 to 10 do
- for j:=1 to 10 do
- m[i,j]:=random(201)-100;
- end;
- procedure print(var m: matrica);
- var
- i,j: byte;
- begin
- for i:=1 to 10 do
- begin
- for j:=1 to 10 do
- write(m[i,j]:5);
- writeln('');
- end;
- end;
- var
- m1,m2: matrica;
- mm: matrica1;
- i,j: byte;
- begin
- generate(m1);
- writeln('Входная матрица:');
- writeln('');
- print(m1);
- writeln('');
- for i:=1 to 10 do
- begin
- mm[i,1]:=f(m1,i);
- mm[i,2]:=i;
- end;
- writeln('Характеристики столбцов:');
- writeln('');
- for i:=1 to 10 do
- write(mm[i,1]:5);
- writeln('');
- writeln('');
- sort(mm);
- for i:=1 to 10 do
- for j:=1 to 10 do
- m2[i,j]:=m1[i,mm[j,2]];
- writeln('Выходная матрица:');
- writeln('');
- print(m2);
- writeln('');
- writeln('Характеристики столбцов:');
- writeln('');
- for i:=1 to 10 do
- write(mm[i,1]:5);
- writeln('');
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment