Сформировать матрицу по образцу - 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;
}

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

В этом коде:

  1. Объявляются переменные:
    • n - количество строк в матрице (равно 5).
    • m - количество столбцов в матрице (равно 7).
    • a - массив-матрица размером n на m.
    • i, j - индексы для обхода матрицы.
    • k - счётчик для перебора столбцов при записи единиц.
  2. Матрица инициализируется нулями:
    • Используется два вложенных цикла for, чтобы пройти по всем элементам матрицы.
    • Условие цикла for для столбцов использует m, а не n, так как в этом случае будет выполнено меньшее количество итераций (поскольку m меньше n).
  3. В матрицу записываются единицы:
    • Используется два вложенных цикла for, чтобы пройти по строкам и столбцам, где нужно записать единицы.
    • Условие цикла for для строк использует n, а не m, так как в этом случае будет выполнено меньшее количество итераций (поскольку n меньше m).
    • Переменная k используется для контроля количества итераций во втором вложенном цикле for.
  4. Матрица выводится на экран:
    • Используется два вложенных цикла for, чтобы пройти по всем элементам матрицы.
    • Внутри внешнего цикла for добавляется символ новой строки \n, чтобы перейти на новую строку.
    • Внутренний цикл for использует m, а не n, так как строки выводятся в столбик (без переносов).
    • Используется функция printf для вывода чисел на экран.
    • Используется функция fflush для очистки буфера ввода (чтобы можно было сразу же ввести символ после вывода).
    • Используется функция getchar для получения символа ввода (чтобы можно было сразу же ввести символ после вывода).
    • Функция return 0; завершает программу.

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


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

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

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