Составление одномерного массива из главной диагонали двумерного - C (СИ)
Формулировка задачи:
Помогите пожалуйста с задачей:
Написать функцию, которая получала бы двумерный динамический массив (квадратную матрицу) и формировала из него одномерный динамический массив, составленный из элементов главной диагонали полученного массива.
Примечание:
Заполнение элементов массива (там, где это требуется) должно быть реализовано в виде отдельной функции. В этой функции запрашивается количество элементов массива, затем пользователю предоставляется выбор – либо вводить массив с клавиатуры, либо заполнить его автоматически (случайными числами). В случаях, когда функция сама формирует массив, она должна посредством своих аргументов (объявленных как указатели) передать в вызывающую программу новый массив и число его элементов. Возвращаемое функцией число должно означать код ошибки (например, 0 – нет ошибки, ненулевое число – код конкретной ошибки).Решение задачи: «Составление одномерного массива из главной диагонали двумерного»
textual
Листинг программы
for ( i = 0; i < SIZE; ++i ) array[i] = matrix[i][i];
Объяснение кода листинга программы
- Объявляется переменная
iтипа int и инициализируется значением 0. - Условие цикла for: i < SIZE, где SIZE - это константа, определяющая размер массива.
- Тело цикла:
a. Переменная
arrayтипа int[] инициализируется значениями элементов главной диагонали двумерного массиваmatrix. b. Индексы массиваarrayиmatrixодинаковы и равныi. c. Значение элемента массиваarrayприсваивается значению элемента массиваmatrixс индексамиiиi. d. Значениеiувеличивается на 1. - Цикл выполняется до тех пор, пока значение
iменьше SIZE. - После выполнения цикла, переменная
iстановится равной SIZE.