Инвертировать порядок элементов в целочисленном массиве
Алгоритм решения инвертирования порядка элементов в целочисленном массиве:
- Объявляем массив
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]. - Код завершается.