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

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

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

очень нужно решение Заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей линейной последовательностью чисел, от левого верхнего угла вправо - вниз. Остаток матрицы заполнить нулями.

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

textual
Листинг программы
#define m 9
int matr[m][m];
 
int main()
{
    int n = 1;
    int ii= 0;
    for (int i=0; i<m; i++)
    {
        for (int j=0; j<m; j++)
        {
            if ((j>=ii) && (j<=(m-ii-1))) matr[i][j] = 0; else
            {
                matr[i][j] = n; 
                n++;
            }
        }
        if (i<m/2) ii++; else ii--;
    }
 
    for (int i=0; i<m; i++)
    {
        for (int j=0; j<m; j++)
        {
            printf("%d\t",matr[i][j]);
        }
        printf("\r\n");
    }
 
 
    return 0;
}

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

  1. Программа создает матрицу размером 9х9 и заполняет ее значениями по определенному правилу
  2. Переменная n инициализируется значением 1, а переменная ii равна 0
  3. Два вложенных цикла заполняют матрицу. Первый цикл идет по строкам, а второй по столбцам
  4. Условие в вложенных циклах проверяет, лежит ли текущий столбец слева или справа от побочной диагонали
  5. Если условие выполняется, то значение в текущей ячейке матрицы устанавливается равным n, а значение n увеличивается на 1
  6. После завершения циклов, значение переменной ii инкрементируется или декрементируется в зависимости от того, находится ли текущая строка до главной диагонали или после нее
  7. Значения матрицы выводятся на экран с помощью функции printf
  8. Программа возвращает 0, что означает успешное выполнение

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


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

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

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