Đề: Nhập vào dãy số nguyên gồm 100 phần tử: a/ Xếp lại mảng đó theo thứ tự giảm dần. b/ Nhập vào một số nguyên x từ bàn phím. Chèn số đó vào mảng sao cho mảng vẫn có thứ tự giảm dần. (không được xếp lại mảng) Yêu cầu: Câu b không quá chuyên nghiệp nha cả nhà! Đừng dùng ''downto'' hay ''break'' hoặc bất kì lệnh dừng đột xuất vòng lặp nào nhé! Hmm... Câu a mik cx biết làm sơ sơ r nên mn làm câu b thôi cx đc nha! Cám ơn mọi người nhìu!

1 câu trả lời

uses crt;
var i,j,v,n,tmp,x:longint;
    a:array[0..1000000] of longint;
begin
    clrscr;
    readln(n);
    for i:=1 to n do read(a[i]);
    // a
    for i:=1 to n-1 do
        for j:=i+1 to n do
           if a[i] < a[j] then
              begin
                  tmp:=a[i];
                  a[i]:=a[j];
                  a[j]:=tmp;
              end;
    // b
    readln(x);
    for i:=1 to n do
        if a[i] > x then
           v:=i;
    for i:=1 to v do
        a[i-1]:=a[i];
    a[v]:=x;
    for i:=0 to n do write(a[i],' ');
readln;
end.