Обработка матриц.ppt
- Количество слайдов: 9
Обработка двумерных массивов
1. Действия с двумерными массивами При обработке матриц существуют такие типовые варианты задач: нахождение какой-либо величины для всего массива; нахождение какой-либо величины для каждой строки матрицы; нахождение какой-либо величины для каждого столбца матрицы. Правила составления алгоритмов при решении задач с двумерными массивами: 1. Для обработки n-мерных массивов используются вложенные циклы с глубиной вложения n, причем логический блок проверки заданного условия и вычислительный блок размещаются в теле внутреннего цикла. 2. При нахождении искомой величины для всей матрицы начальное присвоение осуществляется один раз до входа во внешний цикл, а результат выводится на печать после выхода из внешнего цикла.
3. Если искомая величина определяется для строк или столбцов, то начальное присвоение и вывод результата осуществляется число раз, равное числу внешних циклов. Блок начального присвоения размещается на входе во внутренний цикл, а блок вывода результатов – на выходе из внутреннего цикла. 4. Если искомая величина определяется для строк, то внешний цикл организовывается по строкам, а внутренний – по столбцам. Если искомая величина определяется для столбцов, то внешний цикл организовывается по столбцам, а внутренний – по строкам. При обработке матриц часто встречаются задачи, действия в которых осуществляются с элементами, расположенными определенным образом относительно главной или побочной диагонали, вертикальной или горизонтальной оси симметрии матрицы.
начало Пример 1. Найти сумму положительных элементов матрицы A(M, N). 1 M, N, A 2 S=0 3 i=1, M 4 j=1, N 5 Нет Ai, j>0 Да 6 S=S+Ai, j 7 S 8 конец A – матрица из M строк и N столбцов
Пример 2. A – матрица из M строк и N столбцов начало 1 Для каждой строки матрицы A(M, N) определить минимальный элемент и его номер. M, N, A 2 i=1, M 3 5 min – минимальный элемент строки k – номер столбца, в котором расположен минимальный элемент в строке min=A i, 1 k=1 i, k, min 4 j=1, N 6 Min> 7 A i, j Да Min=A i, j k=j 8 конец Нет
Пример 3. начало Подсчитать количество нулевых элементов в каждом столбце матрицы А(M, M) среди элементов, лежащих выше побочной диагонали. A – матрица из M строк и M столбцов 1 M, A 2 j=1, m-1 3 5 k=0 j, k 4 i=1, m-j 6 7 A i, j= 0 Да k=k+1 8 конец Нет
A – матрица из M строк и N столбцов В – массив из М элементов начало 1 Пример 4. M, N, A Получить вектор из количеств ненулевых элементов каждой нечетной строки матрицы. 2 Z=0 3 i=1, M, 2 10 9 i, BZ 4 k=0 11 Z=Z+1 BZ=k Да 8 k ≠ 0 i, «нет ненулевых элем-тов» 5 j=1, N Нет 6 7 A i, j ≠ 0 Нет Да k=k+1 12 конец
A – матрица из M строк и N столбцов начало Пример 5. M, N, A Расположить элементы каждой строки матрицы А(M, N) по возрастанию (с применением метода линейной сортировки). A i=1, M j=1, N-1 k=j+1, N Нет A i, j > A i, k Да P = A i, j = A i, k = p A конец
Обработка матриц.ppt