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.

Câu hỏi trong lớp Xem thêm