ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ
№6. ИНВЕРТИРОВНИЕ МАССИВА
ПОСТАНОВКА ЗАДАЧИ:
Требуется изменить порядок следования элементов массива C, состоящего из n элементов, на обратный, используя вспомогательную переменную p.
Исходный массив C: 1 2 3 4 5
Конечный массив C: 5 4 3 2 1
Перестановка производится по одному элементу через промежуточную переменную:
1) 1-ый элемент передается в ячейку p;
2) последний элемент ставится на место 1-го;
3) элемент из ячейки p ставится на последнее место.
Количество таких перестановок равно trunc(n/2) или (n div 2) – деление нацело.
Program Inwert;
uses crt;
{ описание переменных и массива }
{ описание процедуры ввода массива }
{ описание процедуры вывода массива }
procedure Inw;
var m: integer;
p: real;
begin
m:=trunc(n/2); { определение числа циклов }
for i:=1 to m do
begin
p:=c[i]; { перестановка i элемента в p }
c[i]:=c[n-i+1]; { перестановка на i место элемента n-i+1 }
c[n-i+1]:=p; { перестановка элемента из p нa n-i+1 место }
end
end;
Begin
ClrScr;
n:=20;
Input;
ClrScr;
Print;
writeln;
Inw;
Print;
writeln;
Inw;
Print;
writeln;
Readkey;
End.
З А Д А Н И Я:
1. Набрать и исполнить программу.
2. Увеличить число элементов.
3. Заменить числовой массив на символьный.
Получить из слова ГОРОД слово ДОРОГ и другие перевертыши.
4. Произвести инвертирование с сохранением исходного массива.
Подсказка: используйте новый массив.