Главная страница / 25. Типовые алгоритмы: 25.13. Транспонирование м...

25.13. Транспонирование матриц

Транспонирование – преобразование матрицы A, при котором ее строки меняются местами со столбцами. Это выполняется относительно просто, если транспонированная матрица помещается в другой массив At. Блок-схема этого алгоритма представлена на рис. 25.24, а.

Если транспонировать матрицу нужно в этом же массиве, то алгоритм существенно усложняется. Внешний цикл двойного цикла обмена нужно делать по строкам, если число строк m меньше числа столбцов n, и, наоборот, по столбцам, если число столбцов меньше. Переменная внутреннего цикла изменяется от значения управляющей переменной внешнего цикла. Для обмена элементов необходимо использовать промежуточную переменную tmp. После завершения обмена элементов массива через эту же переменную обмениваются значениями переменные m и n. Блок-схема этого варианта представлена на рис. 25.24, б.

img2524

Рис. 25.24. Блок-схемы алгоритмов транспонирования матрицы
с помещением результата в другой массив (а) и без дополнительного массива (б)