Заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей - C (СИ) (74839)

Узнай цену своей работы

Формулировка задачи:

Требуется помощь с задачей. Заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей, ЛП, от левого угла вниз - вправо. Остаток матрицы заполнить нулями. пример того что должно получиться:
   0   0    0   0  0    0    0    0     0
   1   0    0   0  0    0    0    0    26
   2   8    0   0  0    0    0   21    27
   3   9   13   0  0    0   18   22    28
   4  10   14  16  0   17   19   23    29
   5  11   15   0  0    0   20   24    30
   6  12    0   0  0    0    0   25    31
   7   0    0   0  0    0    0    0    32
   0   0    0   0  0    0    0    0     0
Решение найдено
#include <stdio.h>
int main()
{
    int a[100][100], n, t=1, i, j;
    printf("n= ");
    scanf("%d", &n);
    for(j=0; j<n; j++)
        for(i=0; i<n; i++)
            if((j<i && i<n/2) || (j<n-i-1 && i>=n/2) || (j>n-i-1 && i<n/2) || (j>i && i>=n/2))
                a[i][j]=t++;
            else
                a[i][j]=0;
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
            printf("%4d", a[i][j]);
        printf("\n");
    }
    return 0;
}

Решение задачи: «Заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей»

textual
Листинг программы
if ((i>j && i<n-1-j) || (j>n-1-i && j>i))

Объяснение кода листинга программы

В данном коде выполняется условие для заполнения элементов матрицы. Если условие выполняется, то происходит заполнение. Вот объяснение этого условия:

  1. i>j - это условие означает, что элемент матрицы, который мы хотим заполнить, находится левее, чем элемент, с которым мы его сравниваем.
  2. i<n-1-j - это условие означает, что элемент матрицы, который мы хотим заполнить, находится правее, чем элемент, с которым мы его сравниваем.
  3. j>n-1-i - это условие означает, что элемент матрицы, который мы хотим заполнить, находится ниже, чем элемент, с которым мы его сравниваем.
  4. j>i - это условие означает, что элемент матрицы, который мы хотим заполнить, находится правее и ниже, чем элемент, с которым мы его сравниваем. Если все эти условия выполняются, то происходит заполнение элемента матрицы.

Оцени полезность:

12   голосов , оценка 3.5 из 5
Похожие ответы