Главная >> Информатика 11 класс. Босова

§ 8. Структурированные типы данных. Массивы

Перестановка всёх элементов массива в обратном порядке

Пример 10. Перестановка всех элементов массива а[1..n] в обратном порядке сводится к тому, что меняются местами первый и последний элементы, второй и предпоследний элементы и т. д.

Перестановка нашего массива из семи элементов даст такой результат:

В общем случае, меняются местами элементы a[i] и а[n - i + 1].

Вспомним, как можно произвести обмен значений между двумя переменными. Выполнение операторов:

    а[1]:=а[n]; а[n]:=а[1];

к желаемому результату не приводит. Самый простой вариант — использование вспомогательной переменной:

Выясним, сколько всего операций обмена следует произвести.

Если произведена перестановка, например, первого и последнего элементов, то одновременно произведена и перестановка последнего и первого элементов. Таким образом, если число элементов массива чётное, то достаточно произвести n/2 операций обмена.

Но что происходит, если массив содержит нечётное число элементов? Например, в нашем массиве из семи элементов выполнялось три обмена, а четвёртый элемент, занимающий центральную позицию, оставался на своём месте. В общем случае число операций обмена при перестановке в обратном порядке всех п элементов массива определяется как n div 2.

В общем случае, фрагмент программы по перестановке в обратном порядке всех элементов массива а[1..n] имеет вид:

Запишите полный текст программы и выполните её на компьютере для рассмотренного выше массива а, состоящего из семи и из шести элементов.

 

 

???????@Mail.ru