Отсортировать массив целых чисел - C (СИ)

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

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

требуется отсортировать массив из целых чисел на возрастание,цикл for успешно справляется,только нужно ему сказать сколько раз ему повторяться.Для этого цикл while,вот только об условие я споткнулся.Вроде бы логично поставить while(A[i] > A[i - 1]) и цикл for будет работать пока не отсортируется весь массив. Программа компилируется, но при запуске вылетает с вопросом:"Отправить отчет об ошибке Биллу Гейтцу?")) Пробовал вместо while поставить еще один for(j = 0; j < 36; ++j), массив прекрасно сортируется,но выполняется куча лишних циклов. Я в ступоре,надеюсь на дельный совет.
Листинг программы
  1. #include <stdlib.h>
  2. int main()
  3. {
  4. int A[6] = {9, 36, 2, 78, 4, 12};
  5. int i, x;
  6. while(?????){
  7. for(i = 1; i < 6; ++i){
  8. if(A[i] < A[i - 1]){
  9. x = A[i - 1];
  10. A[i - 1] = A[i];
  11. A[i] = x;
  12. }
  13. printf("%d\n", A[i -1]);
  14. }
  15. printf("%d\n", A[5]);
  16. }
  17. return 0;
  18. }

Решение задачи: «Отсортировать массив целых чисел»

textual
Листинг программы
  1. bool sorted = false;
  2. while (!sorted) {
  3.   sorted = true;
  4.   ...
  5.     if (...) {
  6.       ...
  7.       sorted = false;
  8.     }
  9. }

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

В данном коде используется цикл while, который выполняется до тех пор, пока не будет выполнено условие sorted = true. В начале каждого прохода цикла значение sorted сбрасывается в false. Если в процессе выполнения цикла будет выполнено условие, то sorted снова устанавливается в true. Внутри цикла находятся два вложенных блока if и ..., которые выполняются, если выполнено условие. Если условие не выполнено, то выполняется ..., которое включает в себя операторы, изменяющие значения переменных, и в результате которых sorted устанавливается в false. В данном коде нет явной сортировки массива целых чисел, поэтому, возможно, это было пропущено при написании кода.

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


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

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

6   голосов , оценка 4.167 из 5

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

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

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