Реверс половин массива - Pascal
Формулировка задачи:
Помогите написать программу пожалуйста(только без функции swap)
Массив имеет четное число элементов. Заполнить массив случайными числами и выполнить реверс отдельно в первой половине и второй половине.
Пример:
Массив:
1 2 3 4 5 6
Результат:
3 2 1 6 5 4
Решение задачи: «Реверс половин массива»
textual
Листинг программы
var a:array[1..40] of integer; n,i,x:integer; begin repeat write('Введите размер массива четное число от 4 до 40 n='); readLn(n); until n in [4..40]; randomize; writeln('Исходный массив'); for i:=1 to n do begin a[i]:=10+random(80); write(a[i]:4); end; writeln; for i:=1 to n div 4 do begin x:=a[i]; a[i]:=a[n div 2-i+1]; a[n div 2-i+1]:=x; x:=a[n div 2+i]; a[n div 2+i]:=a[n-i+1]; a[n-i+1]:=x; end; writeln('Реверс половин массива'); for i:=1 to n do write(a[i]:4); end.
Объяснение кода листинга программы
- Объявляются переменные: a (массив), n (размер массива), i (счетчик), x (переменная для обмена).
- Вводится размер массива (четное число от 4 до 40) с помощью цикла repeat-until и операции readLn.
- Заполняется массив случайными числами от 10 до 99 с помощью цикла for и операции random.
- Выводится исходный массив с помощью цикла for и операции write.
- Делится размер массива на 4 с помощью операции n div 4, чтобы получить количество четвертых от общего размера массива.
- С помощью вложенного цикла for осуществляется обмен элементов, начиная с первой четверти массива, с элементами второй четверти, третьей четверти и последней четверти.
- Выводится реверс половин массива с помощью цикла for и операции write.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д