Нужно поменять местами первый и последний элементы, второй и предпоследний и т.д. В общем виде нужно обменять элементы массива x[i] и x[n+1-i]. Нужно определить верхнюю и нижнюю границы изменения значения переменной i. Пусть, например, в массиве 6 элементов. В этом случае меняются элементы 1-й и 6-й, 2-й и 5-й, 3-й и 4-й. Таким образом, если n четное, то количество повторений равно n/2. Пусть теперь в массиве 5 элементов. В этом случае меняются элементы 1-й и 5-й, 2-й и 4-й, а 3-й элемент остается на месте. Таким образом, если n нечетное, то количество повторений равно (n-1)/2. Эти формулы можно записать следующим образом: n div 2. Приведем текст программы:
Program Problem30_2; Var X: Array[1..250] Of Integer; m,i,temp:Integer; Begin Write('Задайте количество элементов массива: '); ReadLn(m); WriteLn('Укажите элементы массива'); For i:=1 To m Do Begin Write(i,'-й элемент: '); ReadLn(X[i]); End; {Обменяем значения в массиве} For i:=1 To m div 2 Do Begin temp:=X[i]; X[i]:=X[m+1-i]; X[m+1-i]:=temp; End; WriteLn('Преобразованный массив'); For i:=1 To m Do Write(X[i],' '); WriteLn; End.