Умножение матрицы на скаляр. Сложение и вычитание матриц. Умножение матриц. Транспонирование матриц, страница 2

                                                              

                                                                   K=I,(1),m

                                                                 6

                                                                    

S=S+Aik  * Bkj

 


                                                                  7

Cij =S

 


                                                                   8

ВЫХОД

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

Если в квадратной матрице А поменять местами столбцы со строками. то получим транспонированную матрицу Ат. Каждый элемент транспонированной матрицы определяется по формуле атij = аij , i = 1, 2,..., n   ;    j = 1, 2,..., n   ;                    (4)

Алгоритмы транспонирования матрицы на ЭВМ можно реализовать двумя способами. Первый способ следует применять, когда имя транспонированной матрицы не совпадает с именем исходной матрицы, т.е. когда исходная и транспонированная матрицы хранятся в разных областях памяти ЭВМ. Этот алгоритм будет такой же, как на рис. 1, если в блоке 4 вместо формулы (1) записать формулу (4). Второй способ следует применять, когда транспонирование требуется  произвести в той же области памяти, где располагается исходная матрица, т.е. когда транспонированная матрица должна иметь такое же имя, как и исходная (например, для экономии памяти). В этом случае для перестановки элементов необходимо организовать циклический процесс не в полном объеме, как это делается при первом способе, а в половинном, т.к.  в противном случае каждый элемент будет переставлен дважды и, следовательно, исходная матрица останется без изменений. На рис. 3 представлен алгоритм транспонирования матрицы, реализующий просмотр и перестановку только тех элементов, которые расположены выше главной диагонали, так как в блоке 3 переменная цикла j (номер строки) изменяется от i +1, а не от 1, как при первом способе. В блоке 4 реализуется операция перестановки двух элементов с использованием рабочей ячейки С.

Рис.3

Входные параметры матрица А(n,n)

1      

                                                   ВХОД

                          

                                                2 

                                                    i=I,(1),n    

 


                                                3

                                                  j=i+I,(1),n

 


                                                4

C=Aij          

Aij=Aji

Aji=C          

 


                                                    5

ВЫХОД

5.Поиск максимального (минимального) элемента матрицы

Алгоритм определения максимального элемента массива А размерами n x m заключается в следующем (рис. 4). В рабочую ячейку С заносится один  из элементов массива (блок 2),  который вначале предполагается самым большим. Далее путем последовательного сравнения значения С с текущим элементом массива ищется элемент, больший С. Если такой элемент находится, то он записывается в рабочую ячейку С, заменяя ее прежнее значение (блок 6). После просмотра всех элементов исходного массива в ячейке С окажется сохраненным максимальный элемент. Недостатком такого алгоритма  является такой факт, что мы по окончании работы  не знаем координаты расположения максимального элемента. Если по условию задачи требуется знать не только величину максимального элемента, но и его местоположение в массиве (координаты), то можно воспользоваться алгоритмом, представленным на рис. 5. Этот алгоритм отличается от предыдущего только тем, что в блоках 2 и 6 производится сохранение не самого значения текущего максимума, а его координат, для этого требуются две рабочие ячейки p и q.