Сформировать матрицу по образцу - C (СИ) (150613)
Формулировка задачи:
Треугольные матрицы (закрашены ненулевые элементы)
Решение задачи: «Сформировать матрицу по образцу»
textual
Листинг программы
#include <stdio.h> int main () { const int n=5, m=7; //строк и столбцов int a[n][m],i,j,k=0; for (i=0; i<n; i++) for (j=0; j<m; j++) a[i][j]=0; //занулили for (i=0; i<n; i++) { //записали 1 куда надо for(j=k; j<m-k; j++) a[i][j]=1; k++; } for (i=0; i<n; i++) { printf ("\n"); for (j=0; j<m; j++) printf ("%2d",a[i][j]); //вывели } fflush(stdin); getchar(); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные:
n
- количество строк в матрице (равно 5).m
- количество столбцов в матрице (равно 7).a
- массив-матрица размеромn
наm
.i
,j
- индексы для обхода матрицы.k
- счётчик для перебора столбцов при записи единиц.
- Матрица инициализируется нулями:
- Используется два вложенных цикла
for
, чтобы пройти по всем элементам матрицы. - Условие цикла
for
для столбцов используетm
, а неn
, так как в этом случае будет выполнено меньшее количество итераций (посколькуm
меньшеn
).
- Используется два вложенных цикла
- В матрицу записываются единицы:
- Используется два вложенных цикла
for
, чтобы пройти по строкам и столбцам, где нужно записать единицы. - Условие цикла
for
для строк используетn
, а неm
, так как в этом случае будет выполнено меньшее количество итераций (посколькуn
меньшеm
). - Переменная
k
используется для контроля количества итераций во втором вложенном циклеfor
.
- Используется два вложенных цикла
- Матрица выводится на экран:
- Используется два вложенных цикла
for
, чтобы пройти по всем элементам матрицы. - Внутри внешнего цикла
for
добавляется символ новой строки\n
, чтобы перейти на новую строку. - Внутренний цикл
for
используетm
, а неn
, так как строки выводятся в столбик (без переносов). - Используется функция
printf
для вывода чисел на экран. - Используется функция
fflush
для очистки буфера ввода (чтобы можно было сразу же ввести символ после вывода). - Используется функция
getchar
для получения символа ввода (чтобы можно было сразу же ввести символ после вывода). - Функция
return 0;
завершает программу.
- Используется два вложенных цикла
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д