Напишите программу, которая переставляет элементы массива в обратном порядке без использования дополнительного массива. Программа должна считать массив, поменять порядок его элементов, затем вывести результат (просто вывести элементы массива в обратном порядке – недостаточно!)
Ответы
Ответ дал:
0
Подумайте чуть, ведь все просто. Есть массив, у него гдето есть середина, или точка симметрии. Она находится как (n div 2). Если массив четной длины, то он делится на 2 равные части, если нечетный - в середине остается один элемент, который ни с кем менять не надо.
Сейчас смотрим элементы первой половины
for i:=1 to n div 2
запоминаем их x:=a[i];
присваиваем им значения симметричных им элементов с конца
a[i]:=a[n-i+1]; например при n=10 a[1]:=a[10-1+1];
А элементам в конце присваиваем значения запомненных первых элементов
a[n-i+1]:=x;
Все, поменяли.
Сейчас смотрим элементы первой половины
for i:=1 to n div 2
запоминаем их x:=a[i];
присваиваем им значения симметричных им элементов с конца
a[i]:=a[n-i+1]; например при n=10 a[1]:=a[10-1+1];
А элементам в конце присваиваем значения запомненных первых элементов
a[n-i+1]:=x;
Все, поменяли.
Вас заинтересует
1 год назад
1 год назад
6 лет назад
6 лет назад
8 лет назад
8 лет назад
9 лет назад