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

Ответы 1

  • Ответ:

    Объяснение:

    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.

    • Автор:

      beastyxla
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years