Упорядочивание массива заданным образом - PascalABC.NET
Формулировка задачи:
Доброе время суток. Помогите с сортировкой индексов в массиве . Вот задача Дан массив A размера N. Вывести его элементы в следующем порядке:
A1, A2, AN, AN−1, A3, A4, AN−2, AN−3, … . Исходные данные 2.10 , 3.14 , 3,90 , 8.96.
Пример верного решения 2.10 , 3.14 , 8.96 , 3,90.
Вот мои попытки решить задачу
Решение задачи: «Упорядочивание массива заданным образом»
textual
Листинг программы
const n=4;
c:array[1..n] of real=(2.10,3.14,3.90,8.96);
var i:integer;
begin
writeln('Исходный массив');
for i := 1 to n do
write(c[i]:5:2);
writeln;
// Вывести его элементы в следующем порядке:
writeln('Вывод по условию');
i:=1;
while i<=n div 2 do
begin
write(c[i]:5:2);
write(c[i+1]:5:2);
write(c[n-i+1]:5:2);
write(c[n-i]:5:2);
i:=i+2;
end;
end.
Объяснение кода листинга программы
- В начале кода объявляется константа
nи массивcс четырьмя элементами, значения которых равны 2.10, 3.14, 3.90 и 8.96 соответственно. - Затем объявляется переменная
iтипа integer. - Далее выводится исходный массив с помощью цикла
for, который проходит по каждому элементу массиваcот 1 доn. Значение каждого элемента выводится с помощью функцииwrite, а разрядка числа устанавливается в 5 знаков после запятой с помощью параметра:5:2. - После этого выводится массив в соответствии с условием, используя цикл
while. Этот цикл проходит по каждому элементу массиваcот 1 до половины его размера (n div 2). - Внутри цикла выводятся значения каждого элемента массива
cс помощью функцииwrite, а разрядка числа устанавливается в 5 знаков после запятой с помощью параметра:5:2. - После каждой итерации цикла значение переменной
iувеличивается на 2. - В конце цикла значение переменной
iувеличивается на 2, чтобы перейти к следующей итерации цикла. - В конце программы нет никаких дополнительных действий.