Прокомментировать код работы с матрицей - C (СИ)

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

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

Есть программа,напишите пожалуйста к ней комментарии, то есть что происходит в каждой строчке.Спасибо заранее.
Листинг программы
  1. #define m 9
  2. int matr[m][m];
  3. int main()
  4. {
  5. int n = 1;
  6. int ii= 0;
  7. for (int i=0; i<m; i++)
  8. {
  9. for (int j=0; j<m; j++)
  10. {
  11. if ((j>=ii) && (j<=(m-ii-1))) matr[i][j] = 0; else
  12. {
  13. matr[i][j] = n;
  14. n++;
  15. }
  16. }
  17. if (i<m/2) ii++; else ii--;
  18. }
  19. for (int i=0; i<m; i++)
  20. {
  21. for (int j=0; j<m; j++)
  22. {
  23. printf("%d\t",matr[i][j]);
  24. }
  25. printf("\r\n");
  26. }
  27.  
  28. return 0;

Решение задачи: «Прокомментировать код работы с матрицей»

textual
Листинг программы
  1. #define m 9 // cсылка на m в программе
  2. int matr[m][m]; //объявление матрицы mxm
  3.  
  4. int main()
  5. {
  6.     int n = 1; //объявление n
  7.     int ii= 0; //объявление ii
  8.     for (int i=0; i<m; i++) //цикл созающий строки матрицы
  9.     {
  10.         for (int j=0; j<m; j++) // цикл создающий столбцы матрицы
  11.         {
  12.             if ((j>=ii) && (j<=(m-ii-1))) matr[i][j] = 0; else // если j>ii и j<=m-ii-1 то матрица ixj равна 0, иначе
  13.             {
  14.                 matr[i][j] = n;  // матрица ixj=n
  15.                 n++; / n прибавляет на 1 единицу
  16.             }
  17.         }
  18.         if (i<m/2) ii++; else ii--; //если i<m/2 то ii прибовляет на единицу иначе ii уменьшает на 1 единицу
  19.     }
  20.  // и так далее
  21.     for (int i=0; i<m; i++)
  22.     {
  23.         for (int j=0; j<m; j++)
  24.         {
  25.             printf("%d\t",matr[i][j]);
  26.         }
  27.         printf("\r\n");
  28.     }
  29.  
  30.  
  31.     return 0;

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

Что делает код:

  1. Объявляет матрицу m x m с помощью int matr[m][m].
  2. В main() объявляет переменные n и ii с помощью int n = 1; и int ii = 0;.
  3. Запускает два вложенных цикла for, первый из которых создает строки матрицы, а второй - столбцы.
  4. В области действия второго вложенного цикла проверяет условие if ((j>=ii) && (j<=(m-ii-1))) и присваивает значение матрице i x j равным 0, если условие истинно, иначе присваивает значение n.
  5. Увеличивает n на 1 после каждой итерации второго вложенного цикла с помощью n++;.
  6. Во внешнем цикле for выводит значения матрицы на экран с помощью printf(%d\t,matr[i][j]);.
  7. Возвращает 0 в конце программы, что означает успешный конец работы программы.

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


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

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

15   голосов , оценка 3.933 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут