- Преподавателю
- Информатика
- Изучаем язык BASIC. Занятие 18. Задачи на перестановку элементов, строк и столбцов
Изучаем язык BASIC. Занятие 18. Задачи на перестановку элементов, строк и столбцов
Раздел | Информатика |
Класс | - |
Тип | Конспекты |
Автор | Гегелашвили Т.П. |
Дата | 29.08.2015 |
Формат | doc |
Изображения | Нет |
Занятие 18
1. Задана матрица A(N,N) в диапазоне [-24,18]. Поменять местами элементы двух столбцов K и L,значения K и L вводить с клавиатуры.
CLS
RANDOMIZE TIMER
INPUT "N=";N
INPUT "K=";K
INPUT "L=";L
DIM A(N,N)
FOR I=1 TO N
FOR J=1 TO N
A(I,J)=INT(RDN*42-18)
PRINT USING "####"; A(I,J);
NEXT J
NEXT I
FOR I=1 TO N
SWAP A(I,K), A(I,L)
NEXT I
FOR I=1 TO N
FOR J=1 TO N
PRINT USING "####"; A(I,J);
NEXT J
NEXT I
2. Задана матрица A(N,N) в диапазоне [-32,15]. Поменять местами элементы двух строк K и L,значения K и L вводить с клавиатуры.
FOR I=1 TO N
SWAP A(K, I), A(L, I)
NEXT I
3. Задана матрица A(N,N) в диапазоне [-32,15]. Поменять местами элементы главной и побочной диагонали.
FOR I=1 TO N
SWAP A(I, I), A(I, N+1-I)
NEXT I
4. Задана матрица A(N,N) в диапазоне [-30,13] транспонировать ее относительно главной диагонали.
5
-9
3
4
2
-4
1
0
8
5
4
1
-9
2
0
3
-4
8
FOR I=1 TO N
FOR J=I TO N
SWAP A(I, J), A(J,I)
NEXT J,I
5. Задана матрица A(N,N) в диапазоне [-30,23] транспонировать ее относительно горизонтальной оси.
5
-9
3
4
2
-4
1
0
8
1
0
8
4
2
-4
5
-9
3
FOR I=1 TO N\2 цикл организован только до
FOR J=1 TO N горизонтальной оси массива
SWAP A(I, J), A(N+1-I,J) в противном случае все будет
NEXT J,I сделано дважды
6. Задана матрица A(N,N) в диапазоне [-10,23] транспонировать ее относительно горизонтальной оси.
5
-9
3
4
2
-4
1
0
8
3
-9
5
-4
2
4
8
0
1
FOR J=1 TO N\2
FOR I=1 TO N
SWAP A(I, J), A(I, N+1-J)
NEXT I,J
7. Задана матрица A(N,N) в диапазоне [-12,15]. Поменять местами строки с max и min элементами матрицы.
Ввод матрицы
max= - 1000 : min= 1000
FOR I= 1 TO n
FOR J=1 TO n
IF A(I,J)>max THEN max=A(I,J): Imax=I
IF A(I,J)
NEXT J,I
FOR I=1 TO n
SWAP A(Imax, I ), A(Imin ,I)
NEXT I
Домашнее задание. Задана матрица A(N,N) в диапазоне [-14,15]. Поменять местами столбцы с max и min элементами матрицы, если max и min элементы лежат в одном столбце, то поменять местами строки.
Ввод матрицы
max= - 1000 : min= 1000
FOR I= 1 TO n
FOR J=1 TO n
IF A(I,J)>max THEN max=A(I,J): Imax=I : Jmax=J
IF A(I,J)
NEXT J,I
FOR I=1 TO n
IF Jmax= Jmin THEN SWAP A(I,Jmax), A(I,Imin) ELSE SWAP A(Imax, I ), A(Imin ,I)
NEXT I
Вывод массива