pascal:Cho một dãy ký tự. Hãy viết chương trình Tách dãy trên thành 2 nửa, nửa đầu số, nửa sau chữ. Sắp xếp nủa đầu giảm dần, nữa sau tăng dần

1 câu trả lời

uses crt;
var i,j,tam,n,nua:longint;a:array[1..1000]of longint;
begin
 clrscr;
  write('n=');readln(n);
  for i:=1 to n do
        begin
         write('a[',i,']=');readln(a[i]);
        end;
  nua:=n div 2;
  for i:=1 to nua do
   for j:=i to n do
    if(a[i]>a[j])then
        begin
         tam:=a[i];a[i]:=a[j];a[j]:=tam;
        end;
  for i:=nua+1 to n do
   for j:=i to n do
    if(a[i]<a[j])then
        begin
         tam:=a[i];a[i]:=a[j];a[j]:=tam;
        end;
  for i:=1 to n do
        begin
         write(a[i],' ');
         if(i=nua)then writeln;
        end;
 readln;
end.

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