Найти произведение положительных элементов каждого столбца матрицы А(5,5). Результат записать в вектор Р(5). - C (СИ)
Формулировка задачи:
Найти произведение положительных элементов каждого столбца матрицы А(5,5). Результат записать в вектор Р(5).
Решение задачи: «Найти произведение положительных элементов каждого столбца матрицы А(5,5). Результат записать в вектор Р(5).»
textual
Листинг программы
#define N 5
int main()
{
int A[N][N] = { {-3, 5, 7,-6, 2 },
{ 9, 4,-3, 8,-1 },
{-2, 5,-6, 4, 3 },
{ 7,-8, 9,-1,-2 },
{-3, 7, 8, 2, 6 } };
int *pn = new int[N];
for (int k = 0; k < N; k++)
{
int mul = 1;
for (int i = 0; i < N; i++)
mul*=(A[i][k] > 0) ? A[i][k] : 1;
pn[k] = mul;
}
for (int z = 0; z < N; z++)
printf("mul[%d] = %d\n",z,pn[z]);
}
Объяснение кода листинга программы
- Объявляется массив A(5,5) и инициализируется значениями.
- Создается динамический массив pn(5) для хранения результатов.
- В цикле для каждого столбца матрицы A выполняется: a. Инициализируется переменная mul единицей. b. В цикле для каждой строки этого столбца выполняется: i. Если элемент положительный, то он умножается на mul. c. Значение mul сохраняется в соответствующем элементе массива pn.
- В цикле выводятся на экран значения элементов массива pn.