Двумерные массивы

advertisement
Двумерные массивы
1.
2.
3.
4.
5.
Вид двумерного массива
Ввод и вывод двумерного массива
Матрица
Преобразование матрицы
Создание одномерного массива из данного
двумерного
Вид двумерного массива
Двумерный массив представляет собой таблицу однотипных символов. Рассмотрим числовой
массив А:
Параметры массива:
5
4
-3
0
2
7
-2
0
9
-5
-1
13
26
44
-23
0
-9
12
10
6
-4
8
2
-5
-
имя массива: А
-
размерность массива: двумерный
размер массива: (4,6). На первом месте записывается количество строк, через запятую –
количество столбцов.
Элементы массива:
А(2,4)=-5;
А(1,5)=2;
А(4,3)=-4;
………….
Определите значение элементов:
Определите имя элементов, значения которых:
А(3,5), А(4,2), А(1,3).
44, 0, 12, 7, -5, -1.
Формирование двумерного
массива
Формирование массива происходит по строкам.
Сформируем массив А:
5
-2
4
0
-3
9
0
-5
2
-1
7
13
26 44 -23 0
-9
10
6
-4
8
2
Сначала формируются все столбцы первой строки,
затем все столбцы второй строки, далее третьей
строки и четвертой строки.
12
-5
Рассмотрим задачу:
Сформировать и вывести на печать данный
массив А.
Ввод двумерного массива
Ввод двумерного массива, как и
ввод одномерного массива
осуществляется в цикле.
Сначала открываем цикл по i, где
i - изменение номеров строк,
затем открываем цикл по j,
где j - изменение номеров
столбцов.
Формируем цикл одним из
способов.
Закрываем циклы в обратном
порядке – сначала по j, затем
по i.
5
4
-3
0
2
7
-2
0
9
-5
-1
13
26
44
-23
0
-9
12
10
6
-4
8
2
-5
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,-5
Вывод двумерного массива
Для вывода двумерного массива
используются правила:
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
Квадратная матрица
Двумерный массив, у которого
количество строк равно
количеству столбцов
называют квадратной
матрицей.
15
2
3
7
-9
6
16
2
-8
4
-5
0
3
15 23
9
-7
2
-1
17
20
-6
-4
0
5
Говоря о квадратной матрице, мы
сталкиваемся с понятиями:
элементы главной диагонали (i=j);
элементы побочной диагонали
(i+j=n+1, n- количество строк или
столбцов квадратной матрицы);
элементы ниже главной диагонали
(i>j);
элементы выше главной диагонали
(i<j);
элементы ниже побочной диагонали
(i+j>n+1);
элементы выше побочной диагонали
(i+j<n+1).
Квадратная матрица
Пусть дана квадратная матрица:
15
2
3
7
-9
6
16
2
-8
4
-5
0
3
15
23
9
-7
2
-1
17
20
-6
-4
0
5
Элементы главной диагонали:
15,16,3,-1,5.
Элементы побочной диагонали:
-9,-8,3,-7,20.
Элементы выше главной
диагонали:
2
3
7
-9
2
-8
4
15
23
17
Элементы ниже главной
диагонали:
6
-5
0
9
-7
2
20
-6
-4
0
Квадратная матрица
Элементы выше побочной
диагонали:
15
2
3
6
16
2
-5
0
Элементы ниже побочной
диагонали:
7
4
9
-6
15
23
2
-1
17
-4
0
5
Преобразование квадратной
матрицы
Задача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.
Сформировать и вывести на печать
массив М, если его элементы –
элементы побочной диагонали
массива С.
Вычислить сумму элементов,
находящихся выше главной
диагонали.
Удачной работы с
двумерными
массивами
Download