Помогите с матрицей С
Задание заключается в том, что задана матрица чисел размера NxM. Нужно определить количество чисел, которые больше соседних по вертикали. Не могу понять как сделать так, чтобы программа не считала элементы матрицы, у которых по одному соседу.
#include <stdio.h>
int main()
{
const int N = 5, M = 5;
int arr[N][M];
int i, j, count = 0;
printf("Enter %d array elements: \n", N * M);
for (i = 0; i < N; i++)
for (j = 0; j < M; j++)
scanf_s("%d", &arr[i][j]);
for (i = 0; i < N; i++) {
for (j = 0; j < M; j++)
printf("%4d", arr[i][j]);
printf("\n");
}
for (i = 0; i < N; i++)
for (j = 0; j < M; j++)
if (arr[i][j] > arr[i + 1][j] & arr[i][j] > arr[i - 1][j])
{
count += 1;
}
printf("\nAmount of grater numbers: %d", count);
return 0;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Просто замените цикл в проверке
for (i = 0; i < N; i++)
на
for (i = 1; j < N-1; i++)
Вот и все, крайние (нулевой и N-1-ый) элементы просматриваться не будут.
