ДВУМЕРНЫЕ МАССИВЫ
ДМ-11-Урок 1
Двумерный массив – массив, каждый элемент которого имеет два номера.
Структура решения задачи:
Описание массива
Загрузка массива (с клавиатуры или по формуле)
Вывод массива на экран
Решение поставленной задачи
Вывод ответа к задаче на экран
Описание массива
INPUT “Введите количество строк”;M
INPUT “Введите количество столбцов”;N
DIM A(M,N)
2. Загрузка массива по формуле (с клавиатуры)
FOR I=1 TO M FOR I=1 TO M
FOR J=1 TO N FOR J=1 TO N
A(I,J)=.. INPUT A(I,J)
NEXT J NEXT J
NEXT I NEXT I
Вывод массива на экран
FOR I=1 TO M
FOR J=1 TO N
PRINT A(I,J);
NEXT J
PRINT
NEXT I
Задачи по теме «Двумерные массивы»
Вывести на экран массив чисел: а) 2 4 6 8 б) 2 2 2 2
2 4 6 8 4 4 4 4
2 4 6 8 6 6 6 6
INPUT “Введите количество строк”;M
INPUT “Введите количество столбцов”;N
DIM A(M,N)
FOR I=1 TO M
FOR J=1 TO N
A(I,J)= J*2 ... ... A(I,J)=I*2
NEXT J
NEXT I
FOR I=1 TO M
FOR J=1 TO N
PRINT A(I,J);
NEXT J
PRINT
NEXT I
Вывести на экран массив чисел:
а) 3 6 9 12
3 6 9 12
3 6 9 12
б) 0 0 0 0
2 2 2 2
4 4 4 4
в) 2 3 4 5
3 4 5 6
4 5 6 7
г) 6 4 2 0
6 4 2 0
6 4 2 0
ДМ-11-Урок 2
Двумерный массив A(M,N) загрузить с клавиатуры. Найти:
а) сумму всех элементов массива;
б) среднее арифметическое элементов массива;
в) сумму положительных элементов массива;
г) сумму отрицательных элементов массива.
а) INPUT “Введите количество строк”; M в)
INPUT “Введите количество столбцов”; N
DIM A(M,N)
FOR I=1 TO M
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·EXT J
NEXT I
PRINT “S=”; S
Двумерный массив загрузить с клавиатуры. Подсчитать количество:
а) положительных элементов;
б) отрицательных элементов;
в) элементов больших (меньших) числа t
(число t вводится с клавиатуры).
ДМ-11-Урок 3
Двумерный массив загрузить с клавиатуры. Найти:
а) наименьший элемент массива;
б) наибольший элемент массива;
в) сумму наименьшего и наибольшего элементов;
г) среднее арифметическое наибольшего и наименьшего элементов массива.
а)
MIN=A(1,1)
FOR I=1 TO M
FOR J=1 TO N
IF A(I,J) NEXT J
NEXT I
PRINT “MIN=”; MIN
а) Дан массив В(M,N). Требуется умножить элементы этого массива на 2, если В(I,J)>0, или на -2, если В(I,J)<=0. Вывести новый массив на экран.
FOR I=1 TO M
FOR J=1 TO N
IF В(I,J)> THEN B(I,J)= ELSE B(I,J)=
NEXT J
NEXT I
б) Дан двумерный массив A(M,N). Требуется найти максимальный элемент массива max и получить новый массив С(M,N), в котором все элементы равны разности максимального и соответствующего элемента массива A(M,N).
Описание массива
Загрузка массива с клавиатуры
Вывод массива на экран
Нахождение максимального элемента
Загрузка нового массива по формуле
Вывод нового массива на экран
ДМ-11-Урок 4В двумерном массиве найти:
а) су
·мму элементов в каждой строке (столбце);
б) минимальный (максимальный) элемент в каждой строке (столбце);
а) Работа по строкам
Описание массива
Загрузка массива с клавиатуры
FOR I=1 TO M
S(I)=0
FOR J=1 TO N
S(I) = S(I) + A(I,J)
NEXT J
NEXT I
FOR I=1 TO M
FOR J=1 TO N
PRINT A(I,J);
NEXT J
PRINT S(I)
NEXT I
Работа по столбцам
Описание массива
Загрузка массива с клавиатуры
Вывод массива на экран
FOR J=1 TO N
S(J)=0
FOR I=1 TO М
S(J) = S(J) + A(I,J)
NEXT I
NEXT J
FOR J=1 TO N
PRINT S(J);
NEXT J
PRINT
8. В двумерном массиве найти первый отрицательный элемент.
9. В двумерном массиве найти первый положительный элемент.
8.
FOR I=1 TO M
FOR J=1 TO N
IF A(I,J)<0 THEN GOTO 1
NEXT J
NEXT I
1: OTR=A(I,J)
NOMSTR=I
NOMSTB=J
PRINT “Первый отрицательный элемент A(” ; NOMSTR; “ , ”; NOMSTB ; “)=” ; OTR
10. В двумерном массиве найти наибольший отрицательный элемент.
11. В двумерном массиве найти наименьший положительный элемент.
10.
FOR I=1 TO M
FOR J=1 TO N
IF A(I,J)<0 THEN GOTO 1
NEXT J
NEXT I
1: MAX=A(I,J)
FOR I=1 TO M
FOR J=1 TO N
IF A(I,J)<0 AND A(I,J)>MAX THEN MAX=A(I,J) : NOMSTR=I:
NOMSTB=J
NEXT J
NEXT I
PRINT “Наибольший отрицательный элемент .
ДМ-11-Урок 5
Квадратный массив
Количество строк = Количество столбцов = n
1
0
1
0
0
1
0
1
Побочная диагональ (условие I+J = N+1)
Главная диагональ (условие I=J)
Загрузка квадратного массива по формуле
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
Условия: главная диагональ и элемент выше главной диагонали.
A(2,4)=1 – лежит выше гл.диагонали.
Номер его строки(2) меньше номера столбца(4).
Объединяя эти два условия получаем: I<=J.
Загрузка этого массива по формуле:
FOR I=1 TO N
FOR J=1 TO N
IF I<=J THEN A(I,J)=1 ELSE A(I,J)=0
NEXT J
NEXT I
Решение задач
Вывести на экран массив чисел:
1 1 1 1
1 1 1 3
1 1 3 3
1 3 3 3
5 5 5 8
5 5 8 8
5 8 8 8
8 8 8 8
9 9 9 9 2
9 9 9 2 9
9 9 2 9 9
9 2 9 9 9
2 9 9 9 9
6 0 0 0
6 6 0 0
6 6 6 0
6 6 6 6
ДМ-11-Урок 6
В квадратном массиве (загрузка с клавиатуры) найти:
сумму элементов на главной диагонали;
сумму положительных элементов на побочной диагонали.
S=0
FOR I=1 TO N
FOR J=1 TO N
IF I+J=N+1 AND A(I,J)> THEN S=
NEXT J
NEXT I
В квадратном массиве (загрузка с клавиатуры) найти:
min (max) элемент на главной (побочной) диагонали;
количество элементов, равных min элементу побочной диагонали.
MIN на главной диагонали
MIN= A(1,1)
FOR I=1 TO N
FOR J=1 TO N
IF I<=J AND A(I,J)< THEN MIN=
NEXT J
NEXT I
Нахождение суммы по строкам
Вывод массива и суммы каждой строки
Нахождение суммы по столбцам
Вывод массива и суммы каждого столбца
Поиск первого отрицательного
элемента
Поиск наиболь-
шего отрица-
тельного элемента
ДМ-11-Урок 1
Двумерный массив – массив, каждый элемент которого имеет два номера.
Структура решения задачи:
Описание массива
Загрузка массива (с клавиатуры или по формуле)
Вывод массива на экран
Решение поставленной задачи
Вывод ответа к задаче на экран
Описание массива
INPUT “Введите количество строк”;M
INPUT “Введите количество столбцов”;N
DIM A(M,N)
2. Загрузка массива по формуле (с клавиатуры)
FOR I=1 TO M FOR I=1 TO M
FOR J=1 TO N FOR J=1 TO N
A(I,J)=.. INPUT A(I,J)
NEXT J NEXT J
NEXT I NEXT I
Вывод массива на экран
FOR I=1 TO M
FOR J=1 TO N
PRINT A(I,J);
NEXT J
NEXT I
Задачи по теме «Двумерные массивы»
Вывести на экран массив чисел: а) 2 4 6 8 б) 2 2 2 2
2 4 6 8 4 4 4 4
2 4 6 8 6 6 6 6
INPUT “Введите количество строк”;M
INPUT “Введите количество столбцов”;N
DIM A(M,N)
FOR I=1 TO M
FOR J=1 TO N
A(I,J)= J*2 ... ... A(I,J)=I*2
NEXT J
NEXT I
FOR I=1 TO M
FOR J=1 TO N
PRINT A(I,J);
NEXT J
NEXT I
Вывести на экран массив чисел:
а) 3 6 9 12
3 6 9 12
3 6 9 12
б) 0 0 0 0
2 2 2 2
4 4 4 4
в) 2 3 4 5
3 4 5 6
4 5 6 7
г) 6 4 2 0
6 4 2 0
6 4 2 0
ДМ-11-Урок 2
Двумерный массив A(M,N) загрузить с клавиатуры. Найти:
а) сумму всех элементов массива;
б) среднее арифметическое элементов массива;
в) сумму положительных элементов массива;
г) сумму отрицательных элементов массива.
а) INPUT “Введите количество строк”; M в)
INPUT “Введите количество столбцов”; N
DIM A(M,N)
FOR I=1 TO M
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·EXT J
NEXT I
PRINT “S=”; S
Двумерный массив загрузить с клавиатуры. Подсчитать количество:
а) положительных элементов;
б) отрицательных элементов;
в) элементов больших (меньших) числа t
(число t вводится с клавиатуры).
ДМ-11-Урок 3
Двумерный массив загрузить с клавиатуры. Найти:
а) наименьший элемент массива;
б) наибольший элемент массива;
в) сумму наименьшего и наибольшего элементов;
г) среднее арифметическое наибольшего и наименьшего элементов массива.
а)
MIN=A(1,1)
FOR I=1 TO M
FOR J=1 TO N
IF A(I,J)
NEXT I
PRINT “MIN=”; MIN
а) Дан массив В(M,N). Требуется умножить элементы этого массива на 2, если В(I,J)>0, или на -2, если В(I,J)<=0. Вывести новый массив на экран.
FOR I=1 TO M
FOR J=1 TO N
IF В(I,J)> THEN B(I,J)= ELSE B(I,J)=
NEXT J
NEXT I
б) Дан двумерный массив A(M,N). Требуется найти максимальный элемент массива max и получить новый массив С(M,N), в котором все элементы равны разности максимального и соответствующего элемента массива A(M,N).
Описание массива
Загрузка массива с клавиатуры
Вывод массива на экран
Нахождение максимального элемента
Загрузка нового массива по формуле
Вывод нового массива на экран
ДМ-11-Урок 4В двумерном массиве найти:
а) су
·мму элементов в каждой строке (столбце);
б) минимальный (максимальный) элемент в каждой строке (столбце);
а) Работа по строкам
Описание массива
Загрузка массива с клавиатуры
FOR I=1 TO M
S(I)=0
FOR J=1 TO N
S(I) = S(I) + A(I,J)
NEXT J
NEXT I
FOR I=1 TO M
FOR J=1 TO N
PRINT A(I,J);
NEXT J
PRINT S(I)
NEXT I
Работа по столбцам
Описание массива
Загрузка массива с клавиатуры
Вывод массива на экран
FOR J=1 TO N
S(J)=0
FOR I=1 TO М
S(J) = S(J) + A(I,J)
NEXT I
NEXT J
FOR J=1 TO N
PRINT S(J);
NEXT J
8. В двумерном массиве найти первый отрицательный элемент.
9. В двумерном массиве найти первый положительный элемент.
8.
FOR I=1 TO M
FOR J=1 TO N
IF A(I,J)<0 THEN GOTO 1
NEXT J
NEXT I
1: OTR=A(I,J)
NOMSTR=I
NOMSTB=J
PRINT “Первый отрицательный элемент A(” ; NOMSTR; “ , ”; NOMSTB ; “)=” ; OTR
10. В двумерном массиве найти наибольший отрицательный элемент.
11. В двумерном массиве найти наименьший положительный элемент.
10.
FOR I=1 TO M
FOR J=1 TO N
IF A(I,J)<0 THEN GOTO 1
NEXT J
NEXT I
1: MAX=A(I,J)
FOR I=1 TO M
FOR J=1 TO N
IF A(I,J)<0 AND A(I,J)>MAX THEN MAX=A(I,J) : NOMSTR=I:
NOMSTB=J
NEXT J
NEXT I
PRINT “Наибольший отрицательный элемент .
ДМ-11-Урок 5
Квадратный массив
Количество строк = Количество столбцов = n
1
0
1
0
0
1
0
1
Побочная диагональ (условие I+J = N+1)
Главная диагональ (условие I=J)
Загрузка квадратного массива по формуле
1
1
1
1
0
1
1
1
0
0
1
1
0
0
0
1
Условия: главная диагональ и элемент выше главной диагонали.
A(2,4)=1 – лежит выше гл.диагонали.
Номер его строки(2) меньше номера столбца(4).
Объединяя эти два условия получаем: I<=J.
Загрузка этого массива по формуле:
FOR I=1 TO N
FOR J=1 TO N
IF I<=J THEN A(I,J)=1 ELSE A(I,J)=0
NEXT J
NEXT I
Решение задач
Вывести на экран массив чисел:
1 1 1 1
1 1 1 3
1 1 3 3
1 3 3 3
5 5 5 8
5 5 8 8
5 8 8 8
8 8 8 8
9 9 9 9 2
9 9 9 2 9
9 9 2 9 9
9 2 9 9 9
2 9 9 9 9
6 0 0 0
6 6 0 0
6 6 6 0
6 6 6 6
ДМ-11-Урок 6
В квадратном массиве (загрузка с клавиатуры) найти:
сумму элементов на главной диагонали;
сумму положительных элементов на побочной диагонали.
S=0
FOR I=1 TO N
FOR J=1 TO N
IF I+J=N+1 AND A(I,J)> THEN S=
NEXT J
NEXT I
В квадратном массиве (загрузка с клавиатуры) найти:
min (max) элемент на главной (побочной) диагонали;
количество элементов, равных min элементу побочной диагонали.
MIN на главной диагонали
MIN= A(1,1)
FOR I=1 TO N
FOR J=1 TO N
IF I<=J AND A(I,J)< THEN MIN=
NEXT J
NEXT I
Нахождение суммы по строкам
Вывод массива и суммы каждой строки
Нахождение суммы по столбцам
Вывод массива и суммы каждого столбца
Поиск первого отрицательного
элемента
Поиск наиболь-
шего отрица-
тельного элемента