Cho dãy A gồm N số nguyên, N nhỏ hơn hoặc bằng 250.Hãy sắp xếp dãy A thành 1 dãy không giảm. Giúp mình với ạ, mình cảm ơn mọi người nhiều:3
2 câu trả lời
uses crt;
var a : array[1 .. 250] of integer;
i, j, N : integer;
begin
clrscr;
write('Nhap N = '); readln(N);
for i := 1 to n do begin
write('Nhap so thu ', i ,' = ');
readln(a[i]); end;
for j := N downto 2 do
for i := 1 to j - 1 do
if a[i] > a[i + 1] then begin
a[i] := a[i] + a[i + 1];
a[i + 1] := a[i] - a[i + 1];
a[i] := a[i] - a[i + 1]; end;
write('Day khong giam : ');
for i := 1 to N do write(a[i],' ');
readln
end.
var a:array[0..10000007] of longint;
i,n:longint;
procedure sort(l,r:longint);
var i,j,x,tmp:longint;
begin
i := l; j := r; x := a[(i+j) div 2];
repeat
while a[i] < x do inc(i);
while a[j] > x do dec(j);
if (i <= j) then
begin
tmp := a[i];
a[i] := a[j];
a[j] := tmp;
inc(i);dec(j);
end;
until (i > j);
if (l<j) then sort(l,j);
if (i<r) then sort(i,r);
end;
begin
// link coppy https://hoidap247.com/cau-hoi/3019603 =)))
readln(n);
for i := 1 to n do read(a[i]);
sort(1,n);
write('Day khong giam: ');
for i := 1 to n do
write(a[i],#32);
readln;readln;
end.