Заполнить матрицу по образцу(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. После этого выводится на экран заполненная матрица с помощью двух вложенных циклов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д