В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i : = 0 to 10 do
A : = i;
for i : = 10 downto 0 do begin
k : = A[10-i];
A[10-i] : = A;
A : = k;
end;
Чему будут равны элементы этого массива?
У меня получается 0 1 2 3 4 5 4 3 2 1 0, но должно быть 0 1 2 3 4 5 6 7 8 9 10. Что я делаю не так?
В каком смысле "получается"? Запустил программу и так вот получилось? Не может быть. Этот код переворачивает массив, причем дважды. Получается исходный массив.
Что-то ты не так делаешь... program xxx; var i, k: Integer; a: array [0..10] of Integer; begin for i := 0 to 10 do A := i; for i := 0 to 10 do write(a, ); writeln; for i := 10 downto 0 do begin k := A[10 - i]; A[10 - i] := A; A := k; end; for i := 0 to 10 do write(a, ); writeln; readln end. Вывод://otvet.imgsmail.ru/download/24751000_242e63cf032c894cdd1229ec0570606c_800.png