Заполнить массив из 10 элементов случайными числами в интервале[0..100]и отсортировать первую половину по возрастанию,а вторую по убыванию(методом выбора) — Pascal(Паскаль)

пример:
исход.массив
14 25 13 30 76 58 32 11 41 97
результат:
13 14 25 30 76 97 58 41 32 11
uses crt;
const n=10;
var a:array[1..n] of byte;
    k,i,j,x,buf:byte;
begin
clrscr;
randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=random(101);
  write(a[i]:4);
 end;
writeln;
writeln;
k:=n div 2;
{сортировка выбором по возрастанию первой половины}
for i:=1 to k-1 do
  begin
    x:=i;
    for j:=i+1 to k do
    if a[j]<a[x] then x:=j;
    buf:=a[i];
    a[i]:=a[x];
    a[x]:=buf;
  end;
{сортировка выбором по убыванию второй половины}
for i:=k+1 to n-1 do
  begin
    x:=i;
    for j:=i+1 to n do
    if a[j]>a[x] then x:=j;
    buf:=a[i];
    a[i]:=a[x];
    a[x]:=buf;
  end;
writeln('Упорядоченный массив: ');
for i:=1 to n do
write(a[i]:4);
readln;
end.

Leave a Comment

7 + 3 =