Заполнение матрицы по определённому правилу - C (СИ)

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

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

Дано число n. Создайте массив размером n×n и заполните его по следующему правилу. На главной диагонали должны быть записаны числа 0. На двух диагоналях, прилегающих к главной, числа 1. На следующих двух диагоналях числа 2, и т.д. Например n=5 0 1 2 3 4 1 0 1 2 3 2 1 0 1 2 3 2 1 0 1 4 3 2 1 0

Решение задачи: «Заполнение матрицы по определённому правилу»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h> 
#include <math.h>
 
int n = 0;
int a[100][100];
int i = 0;
int j = 0;
 
int main() {
 
    scanf("%d", &n);
    // обработка
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            a[i][j] = abs(i - j);
        }
    }
 
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            printf ("%d ",a[i][j]);
        }
        printf ("\n");
    }
    return 0;
}

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

  1. Программа начинается с объявления переменных:
    • n - количество заполняемых элементов матрицы (принимается с помощью функции scanf);
    • a - массив для заполнения (размерностью 100x100);
    • i и j - индексы для обхода матрицы.
  2. Затем происходит заполнение матрицы по определённому правилу: в каждой ячейке a[i][j] хранится абсолютное значение разности i и j.
  3. Далее происходит вывод содержимого матрицы на экран. Для этого используется два вложенных цикла:
    • Первый цикл перебирает все строки матрицы (от i = 0 до i = n).
    • Второй цикл перебирает все столбцы текущей строки (от j = 0 до j = n). В каждой итерации внутреннего цикла в текущую ячейку матрицы a[i][j] записывается значение abs(i - j).
  4. После завершения внутренних циклов начинается вывод содержимого матрицы на экран. Для этого используется printf с форматированием %d, которое выводит значение a[i][j] в формате десятичного числа, а также символ пробела после каждого значения. После каждой строки матрицы выводится символ перевода строки \n.
  5. В конце программы возвращается 0, что означает успешное выполнение.

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


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

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

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