Заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей - 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; }
Объяснение кода листинга программы
- Программа создает матрицу размером 9х9 и заполняет ее значениями по определенному правилу
- Переменная
n
инициализируется значением 1, а переменнаяii
равна 0 - Два вложенных цикла заполняют матрицу. Первый цикл идет по строкам, а второй по столбцам
- Условие в вложенных циклах проверяет, лежит ли текущий столбец слева или справа от побочной диагонали
- Если условие выполняется, то значение в текущей ячейке матрицы устанавливается равным
n
, а значениеn
увеличивается на 1 - После завершения циклов, значение переменной
ii
инкрементируется или декрементируется в зависимости от того, находится ли текущая строка до главной диагонали или после нее - Значения матрицы выводятся на экран с помощью функции printf
- Программа возвращает 0, что означает успешное выполнение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д