Возрастание или убывание элементов в массиве через процедуры - Pascal ABC

Формулировка задачи:

Добрый вечер! Помогите, пожалуйста! Даны три целочисленных массива длиной n, m, l (заполняются случайными целыми числами). Если количество четных элементов больше, то отсортировать его по возрастанию, иначе по убыванию Обязательно сделать через процедуры Заранее благодарю

Код к задаче: «Возрастание или убывание элементов в массиве через процедуры - Pascal ABC»

textual
const
max = 1000;
type
Mas = array[1..max] of integer;
procedure sort1(var a:mas;x:integer);
var i, j, buf: integer;
 begin
 for i:=1 to x-1 do
     for j:=i+1 to x do
         if a[i] > a[j] then
            begin
            buf:=a[i];
            a[i]:=a[j];
            a[j]:=buf;
            end;
 end;
procedure sort2(var a:mas;x:integer);
var i, j, buf: integer;
 begin
 for i:=1 to x-1 do
     for j:=i+1 to x do
         if a[i] < a[j] then
            begin
            buf:=a[i];
            a[i]:=a[j];
            a[j]:=buf;
            end;
 end;
 
procedure vvod(var a:mas;x:integer);
var i:integer;
 begin
 for i:=1 to x do
     a[i]:= random(10);
 end;
 
procedure vyvod(var a:mas;x:integer);
 var i:integer;
 begin
 for i:=1 to x do
     write(a[i]:2);
writeln;
 end;
 
 procedure rez(var a:mas; x:integer);
 var i, k :integer;
  begin
  vvod(a,x);
  writeln('Исходный массив:');
  vyvod(a,x);
  writeln('Итоговый массив:');
  for i:=1 to x do
      if odd(a[i]) then
         inc(k);
  if  x - k > k then
      sort1(a,x)
  else
      sort2(a,x);
  vyvod(a,x);
   end;
 
 var a,b,c:mas;
  n,m,l:integer;
 begin
 writeln('Введите количество элементов первого массива');
 readln(n);
 rez(a,n);
 writeln('Введите количество элементов первого массива');
 readln(m);
 rez(b,m);
 writeln('Введите количество элементов первого массива');
 readln(l);
 rez(c,l);
  end.

13   голосов, оценка 4.154 из 5


СОХРАНИТЬ ССЫЛКУ