Возрастание или убывание элементов в массиве через процедуры - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д