Пузырьковая сортировка - C (СИ) (74476)

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

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

Добрый день, Подскажите где ошибся, не могу понять:
Листинг программы
  1. #include <stdio.h>
  2. int main ()
  3. {
  4. int a[]={4,7,72,13};
  5. int i;
  6. int tmp;
  7. for(i = 0 ; i < 4 ; i++)
  8. {
  9. if (a[i] < a[i+1])
  10. {
  11. int tmp = a[i]; a[i] = a[i+1] ; a[i+1] = tmp;
  12. }
  13. printf("%d\n", a[i]);
  14. }
  15. return 0;
  16. }

Решение задачи: «Пузырьковая сортировка»

textual
Листинг программы
  1.  for(j = 0 ; j <sizeof(a)/sizeof(a[0]-1 ; j++)
  2.  {
  3.      for(i = sizeof(a)/sizeof(a[0]-1  ; i >j ; i--)
  4.         if (a[i] < a[i-1])
  5.                  {          
  6.                   int tmp = a[i];
  7.                   a[i] = a[i-1] ;
  8.                   a[i-1] = tmp;
  9.                   }

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

  1. Первый цикл for начинается с переменной j равной 0 и условием, чтобы оно выполнялось пока j меньше количества элементов в массиве a деленного на размер одного элемента в массиве (sizeof(a)/sizeof(a[0])).
  2. Второй цикл for начинается с переменной i равной размеру массива a деленного на размер одного элемента в массиве (sizeof(a)/sizeof(a[0])) и условием, чтобы он выполнялся пока i больше j.
  3. Внутри второго цикла проверяется условие, если текущий элемент массива a больше следующего элемента (a[i] < a[i-1]).
  4. Если условие выполняется, то создается временная переменная tmp и присваивается ей значение текущего элемента массива a.
  5. Значение текущего элемента массива a заменяется на значение следующего элемента массива a.
  6. Значение следующего элемента массива a заменяется на значение временной переменной tmp.
  7. В результате этих действий, элементы массива a, которые были перепутаны местами, меняются местами в правильном порядке.
  8. После выполнения второго цикла, значение переменной j увеличивается на 1.
  9. Циклы for повторяются до тех пор, пока значение переменной j меньше количества элементов в массиве a.
  10. В результате выполнения циклов for, массив a будет отсортирован в порядке возрастания.

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


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

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

11   голосов , оценка 4.182 из 5

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

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

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