Инвертировать порядок элементов в целочисленном массиве
Алгоритм решения инвертирования порядка элементов в целочисленном массиве:
- Объявляем массив
a
для хранения целочисленных значений и переменныеi
иx
для использования в циклах и временной переменной. - Вводим значения элементов массива с помощью цикла
for
и присваиваем их соответствующим индексам массиваa
. - Используем цикл
for
для инвертирования порядка элементов массива.- Для этого проходимся по половине массива (от первого элемента до середины).
- Сохраняем текущий элемент массива во временной переменной
x
. - Заменяем текущий элемент массива на соответствующий элемент с конца (используя индекс
n-i+1
). - Заменяем элемент с конца на значение
x
, которое было сохранено ранее.
- После завершения цикла выводим перевернутый массив, перебирая его элементы с помощью цикла
for
и выводя их на экран.
Пример:
Если у нас есть массив [3, 7, 1, 9, 5]
, то алгоритм проводит следующие действия:
- Значение массива
[3, 7, 1, 9, 5]
присваивается переменнойa
. - Проходимся по массиву и меняем местами элементы:
- Первый элемент 3 меняем с последним элементом 5.
- Второй элемент 7 меняем со вторым элементом с конца 9.
- Третий элемент 1 остается на своем месте (середина массива - не трогаем).
- После завершения цикла выводим перевернутый массив
[5, 9, 1, 7, 3]
.
Листинг программы
const n = 10; // Константа для размера массива
var
a: array[1..n] of integer; // Объявление массива
i, x: integer; // Переменные для использования в циклах и временной переменной x
begin
// Ввод элементов массива
for i := 1 to n do
begin
write('Введите A[', i, ']: ');
readln(a[i]);
end;
// Переворот массива относительно его середины
for i := 1 to n div 2 do
begin
x := a[i]; // Сохранение текущего элемента массива во временной переменной x
a[i] := a[n-i+1]; // Замена текущего элемента массива на соответствующий элемент с конца
a[n-i+1] := x; // Замена элемента с конца на сохраненное значение x
end;
// Вывод перевернутого массива
for i := 1 to n do
begin
write('A[', i, ']: ', a[i]);
end;
end.
Объяснение кода
- Объявляется константа
n
, которая представляет размер массива и устанавливается равной 10. - Объявляется массив
a
типаinteger
с размером[1..n]
, который будет содержать целочисленные значения. - Объявляются переменные
i
иx
типаinteger
, которые будут использоваться в циклах и временной переменной соответственно. - Начинается блок
begin
. - С помощью цикла
for
происходит ввод элементов массиваa
. Пользователю предлагается ввести значение каждого элемента, и оно сохраняется в соответствующем элементе массиваa[i]
. - После ввода всех элементов массива, используется еще один цикл
for
, чтобы инвертировать порядок элементов массива относительно его середины.- В цикле перебираются только половина элементов массива (от первого до
n div 2
). - Значение текущего элемента массива
a[i]
сохраняется во временной переменнойx
. - Текущий элемент
a[i]
заменяется на соответствующий элемент массива с концаa[n-i+1]
. - Элемент с конца
a[n-i+1]
заменяется на значениеx
. - Таким образом, порядок элементов массива инвертируется относительно его середины.
- В цикле перебираются только половина элементов массива (от первого до
- После завершения инвертирования, с помощью цикла
for
происходит вывод инвертированного массива на экран. Каждый элемент выводится с помощью командыwriteln
в формате'A[i]: значение'
, гдеi
- индекс элемента, азначение
- значение элемента массиваa[i]
. - Код завершается.