Двумерный массив целых чисел. Вычислить произведение всех элементов, значения которых четные - C (СИ)
Формулировка задачи:
Дан двумерный массив целых чисел. Вычислить произведение всех элементов, значения которых четные.
Вот набросал примерно. Не идет что-то...
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, j, p=1, n;
printf("Vvedite kolichestvo elementov \n");
scanf("%d", &n);
int a[10][10];
srand(time(0));
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
a[i][j] = rand() % 20 - 10;
printf("%6d ", a[i][j]);
}
printf("\n");
}
printf("\n");
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (a[i][j]%2==0)
{
p=p*a[i][j];
}
}
}
printf("Proizvedenie chetnih elementov %6d\n", p);
}Решение задачи: «Двумерный массив целых чисел. Вычислить произведение всех элементов, значения которых четные»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, j,n;
long long int p=1;
printf("Vvedite kolichestvo elementov \n");
scanf("%d", &n);
int a[n][n];
srand(time(NULL));
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
a[i][j] = rand() % 20-10;
printf("%d ", a[i][j]);
if(a[i][j]%2==0)
p*=a[i][j];
}
printf("\n");
}
printf("\n");
printf("Proizvedenie chetnih elementov %I64d\n", p);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные i, j, n, p, a[n][n], srand, time(NULL), rand() % 20-10, printf(
%d, a[i][j]), printf(\n), printf(Proizvedenie chetnih elementov %I64d\n), return 0; - Выводится сообщение
Vvedite kolichestvo elementovи запрашивается ввод количества элементов; - Создается двумерный массив a[n][n] и инициализируется случайными числами от 10 до 20 с шагом 2;
- Инициализируется переменная p единицей;
- В цикле перебираются все элементы массива a[n][n];
- Если элемент четный, то его значение умножается на p;
- После перебора всех элементов выводится сообщение с произведением четных элементов.