Цикл в функции проходит только один раз - C (СИ)

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

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

Здравствуйте. Скажите что стоит изменить и почему не работает цикл в функции "sortingArray",

проходит только один раз.

Решение задачи: «Цикл в функции проходит только один раз»

textual
Листинг программы
  1. void sortingArray (int a [], int S, int c, int c_2)
  2. {
  3.     int reserve;
  4.     for (c = 0; c < S - 1; c++){
  5.         for (c_2 = S - 2; c_2 >= 0;--c_2){
  6.             if (a [c_2] > a [c_2 + 1]){
  7.                 reserve = a [c_2];
  8.                 a [c_2] = a [c_2 + 1];
  9.                 a [c_2 + 1] = reserve;
  10.                 }
  11.             }
  12.   }
  13.  
  14. }

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

  1. Объявлены входные параметры функции: массив a, его размер S, два значения c и c_2, которые пока не используются.
  2. Объявлена временная переменная reserve.
  3. Запускается внешний цикл c, который выполняется S-1 раз.
  4. Внутренний цикл c_2 запускается c_2 = S-2, c_2 >= 0 и выполняется до c_2 = 0.
  5. Если элемент a[c_2] больше следующего элемента a[c_2+1], то выполняется внутренняя логика функции:
  6. Значение a[c_2] сохраняется в переменной reserve.
  7. Значение a[c_2+1] присваивается a[c_2].
  8. Значение reserve присваивается a[c_2+1].
  9. Внутренний цикл завершается.
  10. Внешний цикл завершается.

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


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

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

10   голосов , оценка 4.1 из 5

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

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

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