При перестановках элементы массива меняются местами друг с другом. Хотя их значения в результате перестановок и не изменяются, но изменяется порядок следования элементов в массиве.
Для выполнения перестановок обычно используется третья переменная, которая служит для временного хранения одного из элементов и играет роль буфера обмена.
Например, переставим местами первый и второй элементы массива а, используя для временного хранения переменную buf.
buf:=a[1]; а[1]:=а[2]; a[2]:=buf;
В случае перестановки строк матрицы необходимо переставить местами все элементы двух строк.
Например, при перестановке двух строк, скажем, первой и второй, не обязательно использовать в качестве буфера обмена целый массив. Одной переменной вполне достаточно, т. к. перестановки всех элементов строк выполняются по очереди.
for j:=1 to m doХорошим примером перестановки элементов двумерного массива является транспонирование матрицы. При транспонировании элементы матрицы переставляются таким образом, что строки исходной матрицы становятся столбцами транспонированной матрицы. При этом элементы, расположенные на главной диагонали исходной и транспонированной матриц, одни и те же. Операция транспонирования сводится к обмену элементов матрицы, расположенных симметрично относительно главной диагонали.
Листинг 4.4 содержит программу, которая формирует матрицу случайных чисел и транспонирует ее. |
Листинг 4.4. Программа транспонирования матрицы случайных чисел
const row=3; col=row; предыдущая         меню        вверх         следующая