Как создать массив из 28 элементов который надо сгенерировать в диапазоне от 20 до 40 разделив исходный массив на 2 с условием: четное или нечётное по индексам. отсортировать 1 массив по возростанию 2 по убыванию используя метод прямого выбора

petrovskayaanna petrovskayaanna    2   17.04.2019 21:04    0

Ответы
olesa2003 olesa2003  07.06.2020 19:57

Объяснение:

program sortmas;

{$mode objfpc}{$H+}

uses

 {$IFDEF UNIX}{$IFDEF UseCThreads}

 cthreads,

 {$ENDIF}{$ENDIF}

 Classes

 { you can add units after this };

const z=28;

type mas=array[1..z] of integer;

var

 u, u1,u2, mas1:mas;

 buf:integer;

procedure ch1(n:integer);

var i,j,k:integer;

begin

j:=0;k:=0;

for i:=1 to n do

u[i]:= random(21)+20; //u[i]:= random(20,40); для PascalABC

for i:=1 to n do

begin

if  i mod 2=0 then

begin

 j:=j+1;u2[j]:=u[i];

end

else

begin k:=k+1;u1[k]:=u[i];end ;

end;

end;

//сортировка по возрастанию

// в mas1 отсортированный массив

procedure vozr1(a:mas;m:integer);

var i,k:integer;

begin

for k:=1 to m do

for i:=k to m do

   begin

   if a[k]>=a[i] then

    begin

     buf:=a[k];

     a[k]:=a[i];

     a[i]:=buf;

    end ;

   end;

mas1:=a;

 end;

//сортировка по убыванию

// в mas1 отсортированный массив

procedure ubyv1(a:mas;m:integer);

var i,k:integer;

begin

for k:=1 to m do

for i:=k to m do

   begin

   if a[k]<=a[i] then

    begin

     buf:=a[k];

     a[k]:=a[i];

     a[i]:=buf;

    end ;

   end;

mas1:=a;

end;

// Вывод массива на экран

// b -массив n-размер,text - что хотим написать

procedure showmas(b:mas;n:integer;text:string);

var

 i:integer;

begin

writeln(text);

for i:=1 to n  do

write(b[i],' ');

readln;

end;

begin

 ch1(28);

 showmas(u,28,'Исходный массив u');

 showmas(u1,14,'Массив с нечетными номерами ');

 showmas(u2,14,'Массив с четными номерами');

 vozr1(u1,14);

 u1:=mas1;

 showmas(u1,14,'Массив с нечетными номерами отсортированный по возрастанию');

 ubyv1(u2,14);

 u2:=mas1;

 showmas(u2,14,'Массив с четными номерами отсортированный по убыванию');

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика