Giúp em với hiccc Nhập vào một mảng các số nguyên. a/ Xếp lại mảng đó theo thứ tự giảm dần. b/ Nhập vào một số nguyên 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)
2 câu trả lời
uses crt;
var a:array[1..10000] of integer;
n,i,j,t,k,l:integer;
begin
clrscr;
write('Nhap so luong phan tu: '); readln(n);
for i:=1 to n do
begin
write('Nhap so thu ',i,': '); readln(a[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
write('Day so giam dan: ');
for i:=1 to n do write(a[i],' '); writeln;
write('Nhap k: '); readln(k);
i:=1;
while (i<=n) and (k<a[i]) or (k<a[j]) do inc(i);
for l:=n+1 downto i+1 do a[l]:=a[l-1];
a[i]:=k;
write('Day giam dan luc nay: ');
for i:=1 to n+1 do write(a[i],' ');
readln;
end.
var A: array [1..100] of integer;
k,n,i,tam,x:integer;
begin
write('Nhap so phan tu n: '); readln(n);
for i:=1 to n do
begin
write('Nhap phan tu thu ',i,': ');
readln(A[i]);
end;
for k:=1 to (n-1) do
for i:=1 to (n-1) do
if A[i] < A[i+1] then
begin
tam:=A[i];
A[i]:=A[i+1];
A[i+1]:=tam;
end;
writeln('Mang da sap xep la: ');
for i:=1 to n do write(A[i],' ');
writeln;
write('Nhap so x: '); readln(x);
i:=1;
while (x<a[i]) and(i<=n) do i:=i+1;
for k:=n+1 downto i do
A[k]:=A[k-1];
A[i]:=x;
write('Mang da chen x la: ');
for i:=1 to n+1 do write(A[i],' ');
readln
end.