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

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

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

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

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

textual
Листинг программы
bool sorted = false;
while (!sorted) {
  sorted = true;
  ...
    if (...) {
      ...
      sorted = false;
    }
}

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

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

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


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

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

6   голосов , оценка 4.167 из 5
Похожие ответы