viết chương trình sắp xếp dãy A gồm N các số nguyên thành dãy không giảm ( Trong đó có sử dụng chương trình con để hoán đổi vị trí của hai số) Mọi người giúp em với. Em cần gấp trong chiều nay ạ. Cảm ơn mng

2 câu trả lời

uses crt;

var a:array[1..100]of integer;

i,n,tam,j:integer;

{---------------chuong-trinh-con----------------------}

procedure hoandoi(x,y:integer);

var tam:integer;

begin

tam:=x;

x:=y;

y:=tam;

end;

{--------------------chuong-trinh-chinh---------------------------}

begin

clrscr;

write('Nhap n='); readln(n);

for i:=1 to n do 

  begin

write('A[',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

hoandoi(a[i],a[j]);

end;

for i:=1 to n do 

  write(a[i]:4);

readln;

end.

program khong_giam;

uses crt;

var A:array[1..10000] of integer;

      n,i,j:integer;

{---CT-con---}

procedure hd(var x,y:integer);

var tg:integer;

begin

      tg:=x;

      x:=y;

      y:=tg;

end;

{---CT-chinh---}

BEGIN

      clrscr;

      write('Nhap N: ');  readln(n);

      for i:=1 to n do

            begin

                  write('A[',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 hd(A[i],A[j]);

      write('Day khong giam la: ');

      for i:=1 to n do write(A[i],' ');

      readln;

end.

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