Цитата:
Сообщение от Эльвира0605
упорядочить элементы последних трёх строк матрицы А по возрастанию значений
|
Программу-то я написал, но пребываю в недоумении: дело в том, что при таком способе задания значений элементов все строки матрицы оказываются исходно упорядоченными по возрастанию. Тогда в чем смысл задания?
Код:
Const
M=9;
N=8;
Type
V=Array[1..N] of Real;
Var
A:Array[1..M] of V;
i,j:Byte;
Procedure Order(Z1:V; var Z2:V);
var
W:V;
q,p:Byte;
d:Real;
begin
W:=Z1;
For q:=1 to N-1 do
For p:=1 to N-q do
If W[p]>W[p+1] then
begin
d:=W[p];
W[p]:=W[p+1];
W[p+1]:=d;
end;
Z2:=W;
end;
Function Elm(r,t:byte):Real;
var
c:byte;
fct:Real;
begin
fct:=1;
for c:=1 to r do fct:=fct*c;
Elm:=Ln(fct)+0.5*t/r;
end;
Begin
Writeln('Initial array:');
For i:=1 to M do
begin
For j:=1 to N do
begin
A[i][j]:=Elm(i,j);
write(A[i][j]:8:2);
end;
writeln;
end;
Writeln('Ordered array:');
For i:=M downto M-2 do Order(A[i],A[i]);
For i:=1 to M do
begin
For j:=1 to N do
write(A[i][j]:8:2);
writeln;
end;
Readln
End.