Как создать массив из 28 элементов который надо сгенерировать в диапазоне от 20 до 40...

0 голосов
33 просмотров

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


Информатика (28 баллов) | 33 просмотров
0

что значит метод прямого выбора?

0

Какой язык?

0

Паскаль

Дан 1 ответ
0 голосов

Ответ:

Объяснение:

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</p>

    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.

(3.3k баллов)