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

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

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

Расскажите если не сложно принцип действия этого кода, особенно эту часть : for (i = 0; i < rs; i++) m[responce[i]]++;
#include<stdio.h>
#include<conio.h>
 
#define vs 11
#define rs 40
 
int main()
{
    int m[vs];
    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};
    int i;
 
    for (i = 0; i < vs; i++)
        m[i] = 0;
 
    for (i = 0; i < rs; i++)
        m[responce[i]]++;
 
    for (i = 1; i < vs; i++)
        printf("Rating %2d is : %2d \n", i, m[i]);
 
    _getch();
    return 0;
}

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

textual
Листинг программы
j = i - 1;
        k = m[i];
        while (j >= 0 && k > m[j])
            m[j + 1] = m[j--];
        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