Занятие
22
Сортировка
матрицы.
1. Задана матрица A(N,N) в диапазоне [-15,25].
Отсортировать матрицу, упорядочив строки массива по возрастанию max элементов в них.
CLS
RANDOMIZE
TIMER
INPUT
“N=”;N
DIM
A(N,N), M(N)
FOR
I=1 TO N
FOR
J=1 TO N
A(I,J)=INT(RDN*40-25)
NEXT J
PRINT
NEXT I
max = -1000
FOR I=1 TO N
M(I)=0
FOR J=1 TO N
IF A(I,J) >max THEN max=A(I,J) : M(I)=max
NEXT J
PRINT M(I);
NEXT
I
FOR I=1 TO N
min =1000
FOR J=I TO N
IF M(J)<min THEN min=M(J) : K=J
NEXT J
SWAP M(I), M(K)
FOR W=1 TO N
SWAP A(I,W), A(K,W)
NEXT W
NEXT
I
Вывод.
2. Задана матрица A(N,N) в диапазоне [-8,12].
Отсортировать матрицу, упорядочив строки массива по возрастанию элементов
главной диагонали.
7
|
3
|
5
|
|
7
|
2
|
|
1
|
2
|
8
|
1
|
2
|
8
|
|
2
|
4
|
|
3
|
10
|
4
|
3
|
10
|
4
|
|
4
|
7
|
|
7
|
3
|
5
|
A(N,N) B(N)
CLS
RANDOMIZE
TIMER
INPUT
“N=”;N
DIM
A(N,N), B(N)
FOR
I=1 TO N
FOR
J=1 TO N
A(I,J)=INT(RDN*20-12)
NEXT J
PRINT
NEXT I
FOR I=1 TO N
B(I) = A(I,I) : PRINT B(I)
NEXT
I
FOR I=1 TO N
min = 1000
FOR J=I TO N
IF B(J) < min THEN min = B(J) : K=J
NEXT J
SWAP B(I), B(K)
FOR W=1 TO N
SWAP A(I ,W), A(K, W)
NEXT W
NEXT
I
Вывод матрицы
3. Задана матрица A(N,N) в диапазоне [-8,12].
Отсортировать матрицу, упорядочив строки массива по убыванию элементов главной
диагонали.
Ввод массива
FOR I=1 TO N
max = -1000
FOR J=I TO N
IF B(J)> max THEN max = B(J) : K=J
NEXT J
SWAP B(I), B(K)
FOR W=1 TO N
SWAP A(I ,W), A(K, W)
NEXT W
NEXT
I
Вывод матрицы
4. Задана матрица A(N,N) в диапазоне [-8,12].
Отсортировать матрицу, упорядочив столбцы массива по возрастанию элементов
главной диагонали.
FOR I=1 TO N
min = 1000
FOR J=I TO N
IF B(J) < min THEN min = B(J) : K=J
NEXT J
SWAP B(I), B(K)
FOR W=1 TO N
SWAP A(W, I), A(W, K)
NEXT W
NEXT
I
Вывод матрицы
5. Задана матрица A(N,N) в диапазоне [-8,12].
Отсортировать матрицу, упорядочив строки массива по возрастанию элементов
побочной диагонали.
Ввод массива
FOR I=1 TO N
B(I) = A(I, N+1 - I) : PRINT B(I)
NEXT
I
FOR I=1 TO N
min = 1000
FOR J=I TO N
IF B(J) < min THEN min = B(J) : K=J
NEXT J
SWAP B(I), B(K)
FOR W=1 TO N
SWAP A(I ,W), A(K, W)
NEXT W
NEXT
I
Вывод матрицы
6. Задана матрица A(N,N) в диапазоне [-8,12].
Отсортировать матрицу, упорядочив строки массива по убыванию элементов побочной
диагонали.
Ввод массива
FOR I=1 TO N
max = -1000
FOR J=I TO N
IF B(J)> max THEN max = B(J) : K=J
NEXT J
SWAP B(I), B(K)
FOR W=1 TO N
SWAP A(I ,W), A(K, W)
NEXT W
NEXT
I
Вывод матрицы
7. Задана матрица A(N,N) в диапазоне [-8,12].
Отсортировать матрицу, упорядочив столбцы массива по возрастанию элементов побочной
диагонали.
FOR I=1 TO N
min = 1000
FOR J=I TO N
IF B(J) < min THEN min = B(J) : K=J
NEXT J
SWAP B(I), B(K)
FOR W=1 TO N
SWAP A(W, I), A(W, K)
NEXT W
NEXT
I
Вывод матрицы
8. Задана матрица A(N,N) в диапазоне [-8,12].
Отсортировать матрицу, упорядочив столбцы массива по убыванию элементов
побочной диагонали.
Ввод массива
FOR I=1 TO N
max = -1000
FOR J=I TO N
IF B(J)> max THEN max = B(J) : K=J
NEXT J
SWAP B(I), B(K)
FOR W=1 TO N
SWAP A(W, I), A(W, K)
NEXT W
NEXT
I
Вывод матрицы
9. Задана матрица A(N,N) в диапазоне [-18,12]. Упорядочить
строки массива по убыванию элементов.
7
|
3
|
5
|
|
3
|
5
|
7
|
1
|
8
|
2
|
|
1
|
2
|
8
|
3
|
10
|
4
|
|
3
|
4
|
10
|
A(N,N)
Ввод матрицы
FOR I=1 TO N
FOR W=1 TO N
max= -1000
FOR J=1 TO N
IF A(I,J) > max THEN max=A(I,J) : K=J
NEXT J
SWAP A(I,W), A(I,K)
NEXT W
NEXT
I
Вывод
10. Задана матрица A(N,N) в диапазоне [-23,13]. Упорядочить
строки массива по возрастанию элементов.
Ввод матрицы
FOR I=1 TO N
FOR W=1 TO N
min= 1000
FOR J=1 TO N
IF A(I,J) < min THEN min=A(I,J) : K=J
NEXT J
SWAP A(I,W), A(I,K)
NEXT W
NEXT
I
Домашнее задание.
Задана матрица A(N,N) в диапазоне [-19,21]. Упорядочить
столбцы массива по убыванию элементов.
Задана матрица A(N,N) в диапазоне [-29,21]. Упорядочить
столбцы массива по возрастанию элементов.
Задана матрица A(N,N) в диапазоне [-19,11]. Упорядочить
строки массива по убыванию и столбцы по возрастанию элементов
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.