Заполнить матрицу по образцу(2и+1х2и+1) - C (СИ)

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

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

Заполнить матрицу

Дано число N. Построить матрицу 2N+1x2N+1 так, чтобы в центре было число N, в элементах отстоящих на 1 от центра N-1, и т.д. _____________________________________________________________________

На входе

Одна строка, содержащая целое число N, 0 < N ≤ 100.
_____________________________________________________________________

На выходе

Построенная матрица
_____________________________________________________________________

Пример

На входе

2

На выходе

0 0 0 0 0 0 1 1 1 0 0 1 2 1 0 0 1 1 1 0 0 0 0 0 0

Решение задачи: «Заполнить матрицу по образцу(2и+1х2и+1)»

textual
Листинг программы
#include <stdio.h>
 
int main(void)
{
    int i, j, k, N;
    scanf_s("%i", &N);
    int arr[100][100];
 
    for (k = N; k >= 0; k--)
    {
        for (i = N - k; i <= N + k; i++) 
        {
            for (j = N - k; j <= N + k; j++) 
            {
                arr[i][j] = N - k;
            }
        }
    }
 
    for (i = 0; i < 2 * N + 1; i++) 
    {
        for (j = 0; j < 2 * N + 1; j++)
        {
            printf("%i ", arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

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

Вывод: В данном коде заполняется матрица по образцу (2и+1х2и+1) с помощью циклов. Сначала задаётся размер матрицы N с помощью функции scanf_s. Затем в первом цикле перебираются все строки матрицы от N до 0. Во втором цикле перебираются все столбцы матрицы от N до 0 для текущей строки. В третьем цикле матрица заполняется значениями N-k. После этого выводится на экран заполненная матрица с помощью двух вложенных циклов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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