Проверить, сколько квадратов находится в массиве - C#
Формулировка задачи:
Доброго времени суток, такая задача :
Как я понял, нужно проверять соседние эл-ты в массиве и сравнивать их на четность , я попытался сделать и вот, что у меня вышло :
Проверяю я эл-нты расположенные снизу и справа, но проблема в том, что она выводит как минимум на 1 кол-во квадратов меньше , чем существует . И подскажите, как проверять размер ? надо прыгать [i+2] и проверять на нечетность ?
Дан двумерный массив целых чисел. Проверить, сколько в нём квад-
ратов размера 2 × 2, состоящих только из чётных элементов.
int[,] a = new[,] { {4, 2, 4}, {4, 4, 2}, {6, 8, 16}, {10, 1, 10} }; int t =0; for (int i = 0; i < a.GetLength(0)-1; i++) { for (int j = 0; j < a.GetLength(1)-1; j++) { if (a[i + 1, j + 1] <= a.Length) { if ((a[i, j] % 2 == 0) && (a[i + 1, j] % 2 == 0) && (a[i + 1, j + 1] % 2 == 0) && (a[i, j + 1] % 2 == 0)) { t++; } } }
Решение задачи: «Проверить, сколько квадратов находится в массиве»
textual
Листинг программы
int[,] a = new[,] { {4, 2, 4,12}, {4, 4, 2,14}, {6, 8, 16,18}, {10, 2, 10,20} }; int t =0; for (int i = 0; i < a.GetLength(0)-2; i++) { for (int j = 0; j < a.GetLength(1)-2; j++) { if ((a[i, j] % 2 == 0) && (a[i + 1, j] % 2 == 0) && (a[i + 1, j + 1] % 2 == 0) && (a[i, j + 1] % 2 == 0)) { t++; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д