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.

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