var
D : array of real := new real[25];
S1, S2 : real;
begin
randomize;
for var i := 0 to 24 do D[i] := random(-100, 100);
writeln('Создан массив:', #10, D);
for var i := 0 to 24 do if D[i] < 0 then D[i] := i else D[i] := D[i]/2;
writeln('Положительные элементы уменьшаем вдвое, а отрицательные заменяем на значения индексов:', #10, D);
for var i := 0 to 24 do if i mod 2 = 0 then S1 += D[i] else S2 += D[i];
writeln('сумма четных элементов: ', S1);
writeln('сумма нечетных элементов: ', S2);
Reverse(D);
Writeln('распологаем элементы массива в обратном порядке:', #10, D);
end.
первые 3 пункта, все преобразования делаются последовательно над рандомно сгенерированным массивом с диапозоном значений от -100 до 100. Программа тестилась под PascalABC.Net