Цикл в функции проходит только один раз - C (СИ)
Формулировка задачи:
Здравствуйте. Скажите что стоит изменить и почему не работает цикл в функции "sortingArray",
проходит только один раз.
Решение задачи: «Цикл в функции проходит только один раз»
textual
Листинг программы
void sortingArray (int a [], int S, int c, int c_2) { int reserve; for (c = 0; c < S - 1; c++){ for (c_2 = S - 2; c_2 >= 0;--c_2){ if (a [c_2] > a [c_2 + 1]){ reserve = a [c_2]; a [c_2] = a [c_2 + 1]; a [c_2 + 1] = reserve; } } } }
Объяснение кода листинга программы
- Объявлены входные параметры функции: массив a, его размер S, два значения c и c_2, которые пока не используются.
- Объявлена временная переменная reserve.
- Запускается внешний цикл c, который выполняется S-1 раз.
- Внутренний цикл c_2 запускается c_2 = S-2, c_2 >= 0 и выполняется до c_2 = 0.
- Если элемент a[c_2] больше следующего элемента a[c_2+1], то выполняется внутренняя логика функции:
- Значение a[c_2] сохраняется в переменной reserve.
- Значение a[c_2+1] присваивается a[c_2].
- Значение reserve присваивается a[c_2+1].
- Внутренний цикл завершается.
- Внешний цикл завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д