Дан одномерный целочисленный массив А с индексами от 1 до 10.
Фрагмент программы:
for i:=1 to 10 do
A[i]:=i-1;
for i:=1 to 10 do
A[i]:=A[11-i];
Необходимо выяснить, как будет выглядеть массив после изменения значений его элементов.
Как определить элементы в первом цикле ясно: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
И как получить первую половину чисел после выполнения второго цикла тоже понятно: 9, 8, 7, 6, 5.
Но вот потом при прогонке этого фрагмента на компьютере результат начинает увеличиваться, следующие пять цифр получаются 5, 6, 7, 8, 9. Почему? Почему это 11-i дает такой результат? Почему элементы массива уменьшаются только до половины? Никак не пойму... Может ли кто-нибудь объяснить пошагово поведение этого алгоритма? Заранее благодарен.
Сообщение отредактировано: Tom -