Занятие
17
Квадратная
матрица.
Двумерные массивы можно
представить себе как таблицы, в ячейках которых хранятся значения элементов
массива, а индексы элементов массива являются номерами строк и столбцов.
Принадлежность
элементов заданной области определяется по значениям индексов элементов
массива.
1,1
|
1,2
|
1,3
|
2,1
|
2,2
|
2,3
|
3,1
|
3,2
|
3,3
|
I<J
I>J
1,2
2,1
1,3
3,1
2,3
3,2
Главная диагональ I=J
1.
Элементы лежат на главной диагонали
I=J
2.
Элементы лежат над главной диагональю
I<J
3.
Элементы лежат под главной диагональю
I>J
N=3
3,1
Побочная диагональ
2,2 I+J=N+1
1,3
1,1 1+1<3+1 1,3 2+3>3+1
1,2 1+2<3+1 3,2 3+2>3+1
2,1 2+1<3+1 3,3 3+3>3+1
I+J<N+1 I+J>N+1
1.
Элементы, лежащие на побочной диагонали
удовлетворяют условию
I+J=N+1
2.
Элементы, лежащие над побочной диагональю
удовлетворяют условию
I+J<N+1
3.
Элементы, лежащие под побочной диагональю
удовлетворяют условию
I+J>N+1
Задана матрица A(N,N) в диапазоне [-24,22].
Найти сумму чисел расположенных на главной диагонали.
Задана матрица A(N,N) в диапазоне [-14,20].
Найти сумму положительных элементов, расположенных на главной диагонали.
Ввод матрицы
S=0
FOR I=1 TO N
FOR J=1 TO N
IF I=J AND A(I,J)>0 THEN S=S+A(I,J)
NEXT J,I
PRINT “S=”;S
Задана матрица A(N,N) в диапазоне [-14,20].
Найти сумму всех элементов, расположенных на главной диагонали.
Ввод матрицы
S=0
FOR I=1 TO N
S=S+A(I,I)
NEXT I
PRINT “S=”;S
Найти сумму всех
элементов , расположенных на побочной диагонали.
Задана матрица A(N,N) в диапазоне [-24,20].
Найти сумму четных элементов, расположенных на побочной диагонали.
Ввод матрицы
S=0
FOR I=1 TO N
FOR J=1TO N
IF J+I=N+1 AND A(I,J)/2=A(I,J)\2 THEN S=S+A(I,J)
NEXT J,I
PRINT “S=”;S
Второй вариант
Ввод матрицы
S=0
FOR I=1 TO N
IF A(I,J)/2=A(I,J)\2 THEN S=S+A(I,N+1-I)
NEXT I
PRINT “S=”;S
Задана матрица A(N,N) в диапазоне [-23,21]. Найти
суммы всех элементов, расположенных на, над и под главной диагональю и всех
элементов, расположенных на, над и под побочной диагональю.
Задана матрица A(N,N) в диапазоне [-13,28]. Найти
сумму и количество всех кратных 5 элементов, расположенных над побочной
диагональю.
Задана матрица A(N,N) в диапазоне [-22,11]. Найти
сумму всех элементов кратных 11, расположенных под главной диагональю и
расположенных над побочной диагональю.
Задана матрица A(N,N) в диапазоне [-33,22]. Найти
max элемент, расположенный над главной диагональю и min элемент, расположенный под побочной диагональю.
Ввод матрицы
max= - 1000
FOR I= 1 TO
n
FOR J=1 TO n
IF A(I,J)>max AND I<J THEN max=A(I,J): Imax=I : Jmax =J
NEXT J,I
min= 1000
FOR I=1 TO N
FOR J=1 TO n
IF A(I,J)<min AND I+J>N+1 THEN min=A(I,J): Imin=I : Jmin=J
NEXT J,I
PRINT
“MAX=”;MAX; “I=”;Imax; “J=”; Jmax
PRINT
“MIN=”;MIN; “I=”;Imin; “J=”; Jmin
Домашнее задание.
Задана матрица A(N,N) в диапазоне [-10,12]. Найти
max четный некратный 5 элемент, расположенный над главной
диагональю и указать его адрес.
Ввод матрицы
max= - 1000
FOR I= 1 TO
n
FOR J=1 TO n
IF I<J AND A(I,J)/2=A(I,J)\2 AND A(I,J)/5<>A(I,J)\5 AND A(I,J)<max
AND THEN max=A(I,J): Imax=I : Jmax =J
NEXT J,I
PRINT
“MAX=”;MAX; “I=”;Imax; “J=”; Jmax
Задана матрица A(N,N) в диапазоне [-13,32]. Найти
заменить каждой строке на 1 элемент, если он больше элемента, расположенного на
главной диагонали и заменить на -1 в противном случае.
Ввод матрицы
FOR I= 1 TO
n
FOR J=1 TO n
IF A(I,J)>A(I,I) THEN A(I,J)=1 ELSE A(I,J)=-1
NEXT J,I
Вывод
матрицы
Задана матрица A(N,N) в диапазоне [-24,18]. Поменять
местами max элемент, расположенный над побочной диагональю
с min элементом, расположенный под побочной диагональю.
Ввод матрицы
max= - 1000 :
min= 1000
FOR I= 1 TO
n
FOR J=1 TO n
IF A(I,J)>max AND I+J<N=1 THEN max=A(I,J): Imax=I : Jmax =J
IF A(I,J)<min
AND I+J>N+1 THEN min=A(I,J): Imin=I : Jmin=J
NEXT J,I
SWAP A(Imax,
Jmax ), A(Imin ,Jmin)
FOR I=1 TO n
FOR J=I TO n
PRINT
USING “####”; A(I,J);
NEXT J
PRINT
NEXT I
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.