Практикум по курсу "Алгоритмизация и программирование". Часть 1. Андрианова А.А - 75 стр.

UptoLike

75
Раздел 6. Двумерные массивы (матрицы)
Двумерные массивы (матрицы) являются примером использования
табличной структуры данных. Данные здесь упорядочиваются по двум
измерениям строкам и столбцам. Таким образом, для обозначения элемента
матрицы используется два индекса индексы строки и столбца, на
пересечении которых находится этот элемент. Например, чтобы обратиться к
элементу матрицы a, находящемуся в 3-ей строке и 1-ом столбце, надо
использовать следующую запись: а[3][1]. Для того чтобы просмотреть все
элементы двумерного массива, требуется “пробежаться” по всем строкам, а
внутри каждой строки по столбцам. Поэтому для ввода элементов матрицы
используют два цикла.
Задача 1. Транспонировать квадратную матрицу (поменять местами
элементы так, чтобы строки матрицы стали столбцами, а столбцы
строками).
Для транспонирования матрицы достаточно поменять местами элементы,
стоящие симметрично относительно главной диагонали. Элементы главной
диагонали расположены так, что индексы строки и столбца у них совпадают.
Будем перебирать те элементы из симметричных пар, которые находятся
ниже главной диагонали них номер столбца меньше номера строки).
Поэтому осуществляем перебор всех строк (переменная x) и для каждой
строки перебор столбцов (переменная y) от 1 до x-1. Для каждой пары
индексов (x,y) меняем местами элементы a[x][y] и a[y][x].
При построении блок-схемы решения задачи 1 для ввода и вывода
матрицы будем использовать следующие группы блоков:
Рис.6.1. Блок ввода матрицы
Рис.6.2. Блок печати матрицы
При решении следующих задач заменим их более короткой записью
                                  Раздел 6. Двумерные массивы (матрицы)

    Двумерные массивы (матрицы) являются примером использования
табличной структуры данных. Данные здесь упорядочиваются по двум
измерениям – строкам и столбцам. Таким образом, для обозначения элемента
матрицы используется два индекса – индексы строки и столбца, на
пересечении которых находится этот элемент. Например, чтобы обратиться к
элементу матрицы a, находящемуся в 3-ей строке и 1-ом столбце, надо
использовать следующую запись: а[3][1]. Для того чтобы просмотреть все
элементы двумерного массива, требуется “пробежаться” по всем строкам, а
внутри каждой строки – по столбцам. Поэтому для ввода элементов матрицы
используют два цикла.

    Задача 1. Транспонировать квадратную матрицу (поменять местами
элементы так, чтобы строки матрицы стали столбцами, а столбцы –
строками).
    Для транспонирования матрицы достаточно поменять местами элементы,
стоящие симметрично относительно главной диагонали. Элементы главной
диагонали расположены так, что индексы строки и столбца у них совпадают.
    Будем перебирать те элементы из симметричных пар, которые находятся
ниже главной диагонали (у них номер столбца меньше номера строки).
Поэтому осуществляем перебор всех строк (переменная x) и для каждой
строки перебор столбцов (переменная y) от 1 до x-1. Для каждой пары
индексов (x,y) меняем местами элементы a[x][y] и a[y][x].
    При построении блок-схемы решения задачи 1 для ввода и вывода
матрицы будем использовать следующие группы блоков:




    Рис.6.1. Блок ввода матрицы             Рис.6.2. Блок печати матрицы


    При решении следующих задач заменим их более короткой записью
                                       75