Основы алгоритмизации и программирования. Часть вторая. Типовые алгоритмы обработки массивов. Асламова В.С - 11 стр.

UptoLike

Составители: 

21
Произведение матриц зависит от порядка сомножителей.
A =
10
00
B =
01
00
AB =
01
00
BA =
00
00
Пусть А квадратная матрица
порядка n. Матрица B называется обратной
к матрице A, если AВ = ВA. Такие матрицы
также называются перестановочными.
Пример 13 Удаление заданного столбца и
заданной строки
Из матрицы В, состоящей из 6 строк
и 7 столбцов, удалить k-ю строку и l-тый
столбец. Распечатать полученную
матрицу.
Обозначения: iномер ст
роки, j
номер столбца. При удалении k-ой строки
все последующие строки матрицы
переписываются на место предыдущей.
Аналогично производится удаление
столбца. Результат получить в той же
матрице. Удаление строки k
обеспечивается перестановкой строк,
начиная с номера k+1 до последней строки.
Удаление столбца производится
перестановкой столбцов на место
предыдущего столбца, начиная с но
мера
l+1 до последнего столбца.
Рисунок 14. Блок-схема
примера 12
Программа 9
Var i, j, l, k: byte;
B: array[1 . . 6, 1 . . 7] of integer;
Begin writeln('Ввод матрицы 6×7 по строкам');
For i:=1 to 6 do
For j:=1 to 7 do read(B[ i, j ]);
Writeln('Ввод k, l'); readln(k, l);
НАЧАЛО
КОНЕЦ
C[ i, j]:= S;
Печать
Ввод n ,m, l
j:=1, l
k:=1, m
Ввод
матрицы A
Печать
матрицы C
Ввод
матрицы B
S:=0;
S:=S+A[ i, k]*B[k, j];
i:=1, n
22
{Удаляем строку k}
For i:=1 to 6 do For j:=1 to 7 do
B[ i – 1, j ]:= B[ i, j ];
{Удаляем столбец l}
For i:=1 to 7 do
For j:=1 to 5 do B[ i, j – 1 ]:= B[ i, j ];
{Печать матрицы}
For i:=1 to 5 do begin
For j:=1 to 6 do write(B[ i, j ]:4:0);
writeln {Перевод курсора} end;
End.
Для закрепления понятий,
рассмотренных в этой главе, приведем
некоторые определения.
Матрица размера n×m
прямоугольная таблица чисел, состоящая
из n строк и m столбцов.
A =
a
11
a
12
a
1m
a
21
a
22
a
2m
...
a
n
1
a
n
2
a
nm
= A
[]
i, j ,
где i = 1, … n; j = 1, … m.
Пусть A
[]
i, j , если число строк
матрицы равно числу столбцов матрицы
(n = m), то A называется квадратной
матрицей порядка n.
Запомните, что обратными или
перестановочными матрицами могут быть
только квадратные матрицы, и, если
обратная матрица существует, то только
одна!
НАЧАЛО
I:=1, 6
J:=1, 7
Ввод
матрицы B
J:=1, 7
J:=L, 6
I:=1, 5
Печать
Мат
р
ицы B
I:=1, 6
I:=1, 5
КОНЕЦ
Удаление
столбца L
Удаление
строки K
B[ i, j]:=B[ i, j+1]
Печать
Ввод K, L
I:=K+1, 6
B[ i–1, j]:=B[ i, j]
Перево
д
курсора
Р
исунок 15. Блок-схема
программы 9
                                                                                               НАЧАЛО
        Произведение матриц зависит от порядка сомножителей.                                                                                       {Удаляем строку k}
            НАЧАЛО
                                         A=⎜
                                             ⎛ 1 0 ⎞         ⎛ 0 1 ⎞                          I:=1, 6                             For i:=1 to 6 do           For j:=1 to 7 do
                                                    ⎟   B=⎜        ⎟
                                             ⎝ 0 0 ⎠         ⎝ 0 0 ⎠                                                     B[ i – 1, j ]:= B[ i, j ];
               Печать
                                                                                              J:=1, 7
             Ввод n ,m, l
                                              AB = ⎜
                                                    ⎛ 0 1 ⎞ ≠ BA = ⎛ 0 0 ⎞                                                                         {Удаляем столбец l}
                                                           ⎟           ⎜      ⎟
               Ввод                                 ⎝ 0 0 ⎠            ⎝ 0 0 ⎠                  Ввод                        For i:=1 to 7 do
             матрицы A                       Пусть А квадратная матрица                      матрицы B
                                       порядка n. Матрица B называется обратной                                             For j:=1 to 5 do B[ i, j – 1 ]:= B[ i, j ];
               Ввод                    к матрице A, если AВ = ВA. Такие матрицы                                                                    {Печать матрицы}
             матрицы B                 также называются перестановочными.                       Печать
                                                                                              Ввод K, L                           For i:=1 to 5 do begin
                i:=1, n
                                       Пример 13 Удаление заданного столбца и                               Удаление              For j:=1 to 6 do write(B[ i, j ]:4:0);
                                       заданной строки                                                      строки K
                                                                                             I:=K+1, 6                         writeln         {Перевод курсора}            end;
                                              Из матрицы В, состоящей из 6 строк
                j:=1, l                и 7 столбцов, удалить k-ю строку и l-тый                                          End.
                                                                                               J:=1, 7
                                       столбец.     Распечатать       полученную                                               Для      закрепления   понятий,
                 S:=0;                 матрицу.                                                                          рассмотренных в этой главе, приведем
                                              Обозначения: i – номер строки, j –          B[ i–1, j]:=B[ i, j]           некоторые определения.
                                       номер столбца. При удалении k-ой строки
               k:=1, m                 все    последующие      строки    матрицы                             Удаление
                                                                                                                                Матрица      размера  n×m     –
                                       переписываются на место предыдущей.                                   столбца L   прямоугольная таблица чисел, состоящая
                                                                                               J:=L, 6                   из n строк и m столбцов.
                                       Аналогично      производится      удаление
         S:=S+A[ i, k]*B[k, j];        столбца. Результат получить в той же                                                       a      a             a1m
                                       матрице.      Удаление       строки       k
                                                                                               I:=1, 5
                                                                                                                           ⎛ a1121 a1222               a2m ⎞
              C[ i, j]:= S;            обеспечивается     перестановкой     строк,                                       A=⎜                               ⎟ = A[ i, j] ,
                                       начиная с номера k+1 до последней строки.          B[ i, j]:=B[ i, j+1]                                   ...
                                       Удаление       столбца       производится                                           ⎝ an1 an2                   anm ⎠
               Печать                  перестановкой     столбцов     на    место
              матрицы C                                                                                                           где        i = 1,     n; j = 1,     m.
                                       предыдущего столбца, начиная с номера                   I:=1, 5
                                       l+1 до последнего столбца.                                                               Пусть A[ i, j] , если число строк
                 КОНЕЦ
                                       Рисунок 14. Блок-схема                                   I:=1, 6                  матрицы равно числу столбцов матрицы
примера №12                                                                                                              (n = m), то A называется квадратной
                                                                                                Печать                   матрицей порядка n.
Программа 9                                                                                    Матрицы B
Var    i, j, l, k: byte;                                                                                                       Запомните, что обратными или
                                                                                                                         перестановочными матрицами могут быть
      B: array[1 . . 6, 1 . . 7] of integer;                                                   Перевод                   только квадратные матрицы, и, если
Begin writeln('Ввод матрицы 6×7 по строкам');                                                  курсора                   обратная матрица существует, то только
                                                                                                                         одна!
       For i:=1 to 6 do                                                                         КОНЕЦ
             For j:=1 to 7 do read(B[ i, j ]);
      Writeln('Ввод k, l'); readln(k, l);                                             Рисунок 15. Блок-схема
                                                                                      программы №9

                                                                               21    22