Cho dãy A gồm n phần tử : a1, a2,....,an( các phần tử giữ nguyên) a) tìm phần tử lớn nhất trong dãy b) sắp xếp dãy A thành 1 dãy k giảm Mn giúp mk vs ạ.

2 câu trả lời

program Min;
uses crt;
var A:array[1..1000] of integer;
    i,j,n,t,max:integer;
begin
   write('Nhap n: '); readln(n);
   for i:=1 to n do
   begin
      write('Nhap phan tu thu ',i,': ');
      readln(A[i]);
   end;
   max:=A[1];
   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;
   for i:=2 to n do if A[i]>max then max:=A[i];
   writeln(' ');
   writeln('Phan tu lon nhat trong day la: ',max);
   writeln('Day sau khi duoc sap xep tang dan la: ');
   for i:=1 to n do write(A[i]:4);
   readln
end.

:D 

uses crt;

const maxn=round(1e5);
type
     tlist = array[1..maxn] of longint;
var n,i:longint;
    a,b: tlist;
procedure qsortAB(var a,b : tlist);
    procedure sort(l,r: longint);
      var
         i,j,x,y: longint;
      begin
         i:=l;
         j:=r;
         x:=a[(l+r) div 2];
         while(i<=j) do
           begin
                while a[i]<x do
                    inc(i);
                while x<a[j] do
                    dec(j);
                if not(i>j) then
                    begin
                        y:=a[i]; a[i]:=a[j]; a[j]:=y;
                        y:=b[i]; b[i]:=b[j]; b[j]:=y;
                        inc(i);
                        j:=j-1;
                    end;
            end;
         if l<j then
           sort(l,j);
         if i<r then
           sort(i,r);
      end;

    begin
       sort(1,n);
    end;
begin
        write('Nhap n: '); read(n);
        for i:=1 to n do
                begin
                        write('Nhap phan tu thu ',i,':'); read(a[i]);
                end;
        qsortAB(a,b);

        clrscr;
        writeln('Max la: ',a[n]);
        for i:=1 to n do write(a[i],' ');
        readln;
end.

 

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