Двумерные массивы 1. Вид двумерного массива 2. Ввод и вывод двумерного массива 3. Матрица 4. Преобразование матрицы 5. Создание одномерного массива из данного двумерного
Вид двумерного массива Двумерный массив представляет собой таблицу однотипных символов. Рассмотрим числовой массив А: Параметры массива: - имя массива: А - размерность массива: двумерный - размер массива: (4,6). На первом месте записывается количество строк, через запятую – количество столбцов. Элементы массива: А(2,4)=-5; А(1,5)=2; А(4,3)=-4; …………. Определите значение элементов: Определите имя элементов, значения которых: А(3,5), А(4,2), А(1,3).44, 0, 12, 7, -5,
Формирование двумерного массива Формирование массива происходит по строкам. Сформируем массив А: Сначала формируются все столбцы первой строки, затем все столбцы второй строки, далее третьей строки и четвертой строки. Рассмотрим задачу: Сформировать и вывести на печать данный массив А
Ввод двумерного массива Ввод двумерного массива, как и ввод одномерного массива осуществляется в цикле. Сначала открываем цикл по i, где i - изменение номеров строк, затем открываем цикл по j, где j - изменение номеров столбцов. Формируем цикл одним из способов. Закрываем циклы в обратном порядке – сначала по j, затем по i. FOR i= 1 TO 6 FOR j= 1 TO 4 READ A(i,j) NEXT j NEXT I DATA 5,4,-3,0,2,7,-2,0 DATA 9,-5,-1,13,26,44,-23 DATA 0,-9,12,10,6,-4,8,2,
Вывод двумерного массива Для вывода двумерного массива используются правила: 1. вывод массива осуществляется в цикле; 2. массив можно выводить в цикле формирования массива в том случае, если ввод массива осуществлялся не оператором INPUT; 3. для вывода массива, так же как и для ввода формируются два цикла; 4. при закрытии циклов между операторами NEXT ставится пустой PRINT, чтобы массив выводился в виде таблицы. FOR i= 1 TO 6 FOR j=1 TO 4 PRINT A(i,j); NEXT j PRINT NEXT i
Квадратная матрица квадратной матрицей. Двумерный массив, у которого количество строк равно количеству столбцов называют квадратной матрицей. Говоря о квадратной матрице, мы сталкиваемся с понятиями: элементы главной диагонали (i=j); элементы побочной диагонали (i+j=n+1, n- количество строк или столбцов квадратной матрицы); элементы ниже главной диагонали (i>j); элементы выше главной диагонали (in+1); элементы выше побочной диагонали (i+j
Квадратная матрица Пусть дана квадратная матрица: Элементы главной диагонали: 15,16,3,-1,5. Элементы побочной диагонали: -9,-8,3,-7,20. Элементы выше главной диагонали: Элементы ниже главной диагонали:
Квадратная матрица Элементы выше побочной диагонали: Элементы ниже побочной диагонали:
Преобразование квадратной матрицы Задача1: Сформировать и вывести на печать матрицу М(4,4), если ее элементы задаются целыми случайными числами на отрезке от –15 до 15. Сформировать массив К, если его элементы – элементы главной диагонали матрицы М. Подсчитать сумму элементов матрицы, находящихся ниже побочной диагонали. DIM M(4,4), K(4) PRINT Массив М FOR i=1 TO 4 FOR j=1 TO 4 M(i,j)= FIX(30*RND(1)-15) PRINT M(i,j); NEXT j PRINT NEXT i FOR i= 1 TO 4 PRINT Массив К FOR j= 1 TO 4 IF i=j THEN K(i)=M(i,j) PRINT K(i); NEXT j NEXT i S=0 FOR i=1 TO 4 FOR j=1 TO 4 IF i+j>5 THEN S=S+M(i,j) NEXT j NEXT i PRINT сумма элементов;S END
Преобразование квадратной матрицы Задача2: Сформировать матрицу А(n,n), если элементы вычисляются по формуле i+j, вывести ее на печать. Сформировать и вывести на печать массив В, если его элементы – сумма элементов массива А по строкам. INPUT n DIM A(n,n), B(n) PRINT МАССИВ А FOR i=1 TO n FOR j=1 TO n A(i,j)= i+j PRINT A(i,j); NEXT j PRINT NEXT i PRINT МАССИВ В FOR i=1 TO n S=0 FOR j=1 TO n S=S+ A(i,j) NEXT j B(i)=S PRINT B(i); NEXT i END
Задание для самостоятельной работы Задача1: Сформировать и вывести на печать массив А(9,4), если элементы вводятся с клавиатуры. Сформировать массив В, если его элементы – сумма элементов массива А по столбикам. Вычислить сумму положительных элементов массива А. Задача2: Сформировать и вывести на печать массив С(n,n), если его элементы формируются по формуле 2i+j. Сформировать и вывести на печать массив М, если его элементы – элементы побочной диагонали массива С. Вычислить сумму элементов, находящихся выше главной диагонали.
Удачной работы с двумерными массивами