Возрастание или убывание элементов в массиве через процедуры - Pascal ABC
Формулировка задачи:
Добрый вечер!
Помогите, пожалуйста!
Даны три целочисленных массива длиной n, m, l (заполняются случайными целыми числами). Если количество четных элементов больше, то отсортировать его по возрастанию, иначе по убыванию
Обязательно сделать через процедуры
Заранее благодарю
Решение задачи: «Возрастание или убывание элементов в массиве через процедуры»
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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д