ПЗ № 37

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 37

ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ


№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. Произвести инвертирование с сохранением исходного массива.

   Подсказка: используйте новый массив.