Изучаем язык BASIC. Занятие 18. Задачи на перестановку элементов, строк и столбцов

Раздел Информатика
Класс -
Тип Конспекты
Автор
Дата
Формат doc
Изображения Нет
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Занятие 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

PRINT

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

PRINT

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

Вывод массива

© 2010-2022