Целью лабораторной работы является изучение способов обработки двумерных массивов.
Для выполнения этой лабораторной работы следует переписать с дискеты текст программы “Labn4.ASM”. В сегмент данных вписать свои переменные и их значения. В сегмент кодов в процедуру MAIN ввести операторы, выполняющие действия, соответствующие индивидуальному заданию.
Данное задание использует процедуру печати элементов матрицы PRMATR.
Ниже приведен пример решения следующей задачи:
Задана матрица А(N,M). Образовать массив В из сумм положительных чисел в каждой строке матрицы.
Контрольный пример:
Матрица А: 20 3 -5
3 -5 0
4 23 –7
-3 -7 -5
Будет получен массив В (23, 3, 27, 0).
Отметим, что если в строке нет положительных чисел, то сумма равна 0.
При решении данной задачи печать элементов массива В проводилась по мере получения элементов. Другой возможный вариант – напечатать массив В после его полного образования, используя для этого процедуру печати массива (см. лабораторную работу 3).
Задана матрица А(N,M) и число 0<J<M. Расположить строки матрицы А в порядке возрастания элементов J-ого столбца.
Задана матрица А(N,M) и массив В(N). Напечатать номера столбцов в матрице А, совпадающих с массивом В.
Задана матрица А(N,M) и массив В(M). Напечатать номера строк в матрице А, совпадающих с массивом В.
Задана матрица А(N,M) и число 0<J<M. Убрать из матрицы J-ый столбец. Напечатать новую матрицу А(N,M-1).
Задана матрица А(N,M) и число 0<I<N. Убрать из матрицы I-ую строку. Напечатать новую матрицу А(N-1,M).
Задана матрица А(N,M) и число 0<I<N. Расположить столбцы матрицы в порядке убывания элементов в I-о1 строке.
Задана матрица А(N,M) и массив В(К), в котором записаны номера строк матрицы А в любом порядке и массив С(К), в котором записаны номера столбцов из матрицы А в любом порядке. Найти сумму элементов матрицы А, стоящих на пересечении Вi –ой строки и Сi –ого столбца (i меняется от 0 до к-1).
Задана матрица А(N,M). Найти первый столбец, в котором содержатся одни нули, и убрать его из матрицы. Если такого столбца нет, то напечатать это.
Задана матрица А(N,M). Найти все столбцы, состоящие только из положительных чисел, и напечатать их номера. Если таких столбцов нет, то напечатать это.
Задана матрица А(N,M). Найти первую строку, состоящую только из отрицательных чисел, и убрать ее из матрицы. Если такой строки нет, то напечатать это.
Задана матрица А(N,M). Найти все строки, состоящие только из отрицательных чисел. Создать массив В из номеров этих строк.
Задана матрица А(N,M). Найти сумму чисел, расположенных выше главной диагонали.
Задана матрица А(N,M) и два числа I1 и I2. ( I1 <I2<M). Удалить из матрицы А строки, начиная с I1 и кончая I2 включительно.
Задана матрица А(N,M) и массив В(К), где 0<=Bi<=M. Просуммировать элементы в столбцах, номера которых заданы в массиве В. Если какой-то номер в массиве В встретился больше 1 раза, то учитывать этот номер только один раз.
Задана матрица А(N,M) и число D. Образовать массив В из номеров строк матрицы А, сумма элементов в которых <D.
Задана матрица А(N,M) и число D. Образовать массив В из номеров столбцов матрицы А, сумма элементов в которых <D.
Задана матрица А(N,M). Сделать эту матрицу квадратной, убрав из нее лишние столбцы или строки.
Задана квадратная матрица А(N,N). N – нечетное число. Двумя диагоналями матрица делится на четыре треугольника. Нумерация треугольников сверху по часовой стрелке. Найти сумму чисел в первом треугольнике. Элементы, входящие в диагонали, считать принадлежащими соответствующим треугольникам.
Задана квадратная матрица А(N,N). N – нечетное число. Двумя диагоналями матрица делится на четыре треугольника. Нумерация треугольников сверху по часовой стрелке. Найти сумму чисел во втором треугольнике. Элементы, входящие в диагонали, считать принадлежащими соответствующим треугольникам.
Задана квадратная матрица А(N,N). N – нечетное число. Двумя диагоналями матрица делится на четыре треугольника. Нумерация треугольников сверху по часовой стрелке. Найти сумму чисел в третьем треугольнике. Элементы, входящие в диагонали, считать принадлежащими соответствующим треугольникам.
Задана квадратная матрица А(N,N). N – нечетное число. Двумя диагоналями матрица делится на четыре треугольника. Нумерация треугольников сверху по часовой стрелке. Найти сумму чисел в четвертом треугольнике. Элементы, входящие в диагонали, считать принадлежащими соответствующим треугольникам.
Задана квадратная матрица А(N,N). N – нечетное число. Двумя диагоналями матрица делится на четыре треугольника. Нумерация треугольников сверху по часовой стрелке. Поменять местами элементы в 1-ом и 3-ем треугольниках. Элементы, находящиеся на диагоналях, считать принадлежащими соответствующим треугольникам.
Задана матрица А(N,M). Найти номер строки, в которой содержится максимальное число нулей. Если таких строк несколько, то напечатать номер только первой строки.
Задана матрица А(N,M). Найти номера столбцов, в которых содержится минимальное число отрицательных чисел.
Задана квадратная матрица А(N,N), состоящая из 0 и 1. Найти строки, в которых подряд встречается больше трех единиц, и напечатать номера этих строк. Если таких строк нет, то напечатать об этом.
Задана матрица А(N,M) и массив В(К) (К>=N), в котором в любом порядке записаны номера строк из матрицы А. Переписать в массив С строки матрицы А, номера которых заданы в массиве В. Размер матрицы С будет (K,M).
Задана матрица А(N,M) и массив В(N). Задано число J (J<М). Вставить в матрицу А массив В после J-ого столбца.
Задана матрица А(N,M) и массив В(M). Задано число I (I<N). Вставить массив В после I-ой строки.
Задана матрица А(N,M). Диагонали в ней проведены, начиная с верхнего левого угла (т.е. на диагонали 1 находится А(0,0), на диагонали 1 – А(0,1) и А(1,0) и т.д.). Найти сумму элементов, находящихся на К-ой диагонали.
Задана матрица А(N,M). Образовать массив В(N) из максимальных элементов в каждой строке.