Прокомментировать код - C (СИ) (72947)

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

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

Расскажите если не сложно принцип действия этого кода, особенно эту часть : for (i = 0; i < rs; i++) m[responce[i]]++;
Листинг программы
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #define vs 11
  4. #define rs 40
  5. int main()
  6. {
  7. int m[vs];
  8. unsigned responce[rs] = {3, 2, 4, 5, 8, 5, 7, 4, 8, 4, 2, 1, 7, 4, 8, 6, 4, 3, 8, 4, 5, 7, 9, 1, 5, 4, 2, 6, 10, 5, 3, 7, 5, 3, 4, 6, 7, 4, 6, 7};
  9. int i;
  10. for (i = 0; i < vs; i++)
  11. m[i] = 0;
  12. for (i = 0; i < rs; i++)
  13. m[responce[i]]++;
  14. for (i = 1; i < vs; i++)
  15. printf("Rating %2d is : %2d \n", i, m[i]);
  16. _getch();
  17. return 0;
  18. }

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

textual
Листинг программы
  1. j = i - 1;
  2.         k = m[i];
  3.         while (j >= 0 && k > m[j])
  4.             m[j + 1] = m[j--];
  5.         m[j + 1] = k;

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

  1. Переменная j инициализируется значением i - 1.
  2. Переменная k инициализируется значением m[i].
  3. Переменная j используется в цикле while, где она сравнивается с нулем и значением m[j].
  4. Если j больше или равно нулю и m[j] больше текущего значения k, то m[j + 1] присваивается значение m[j], а затем j уменьшается на единицу.
  5. Если j больше или равно нулю и m[j] меньше или равно текущему значению k, то m[j + 1] присваивается значение k.
  6. В конце цикла, значение k присваивается в массив m по индексу j + 1.

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


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

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

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

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

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

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