Суть задания: заполнить заштрихованную область квадратной матрицы единицами, а все остальное — нулями. Я нашел похожую задачу на С, только там нужно заполнить верхнюю область. Вот код:
#include <stdio.h>
#define N 5
int main()
{
int Matr[N][N];
int i,j;
for (i=0; i<N; i++)
{
for (j=0; j<N; j++)
{
if (i <= N/2)
{
if ((j>=i) && (j<(N-i)))
Matr[i][j]=1;
else
Matr[i][j]=0;
}
else
Matr[i][j]=0;
}
}
for (i=0; i<N; i++)
{
for (j=0; j<N; j++) printf("%d ",Matr[i][j]);
printf("\n");
}
return 0;
}
Я только знаю, что нужно изменить
if (i <= N/2) на
if (i >= N/2). А вот что нужно изменить тут
if ((j>=i) && (j<(N-i))) не догадываюсь, потому что не до конца понимаю логику. Помогите мне это исправить, чтобы заполнялась вот эта заштрихованная серым область:
.