Сформировать одномерный массив из диагональных элементов матрицы - C (СИ)
Формулировка задачи:
Как сформировать одномерный массив из диагональных элементов матрицы A(n,m) в Visual Studio 2010 Ultimate?
Решение задачи: «Сформировать одномерный массив из диагональных элементов матрицы»
textual
Листинг программы
for(int i = 0, j = m-1; k < n; i++, j--) A[i][i] и A[i][j] //Диагональные элементы. Нужно только на какой-то из диагоналей выкинуть центральный элемент.
Объяснение кода листинга программы
В представленном коде выполняется итерация по двум индексам: i и j.
int i = 0- начальный индекс первого массива (строки матрицы).int j = m-1- начальный индекс второго массива (столбца матрицы).m-1- последний индекс второго массива (столбца матрицы).n- последний индекс первого массива (строки матрицы).A[i][i]- диагональный элемент матрицы.A[i][j]- диагональный элемент матрицы. Внутри цикла выполняется два действия:i++- увеличение значения i на единицу.j--- уменьшение значения j на единицу. Получается, что в каждой итерации в переменной i хранится индекс строки, а в переменной j - индекс столбца. При этом значения i и j чередуются от начального до конечного значения. В каждой итерации значения A[i][i] и A[i][j] заменяются на диагональные элементы матрицы. Примечание: В представленном коде не указано, что делать с центральным элементом диагонали, поэтому он остается без изменений.