Сортировка методом "пузырька" (проверьте правильность) - C (СИ)
Формулировка задачи:
Проверьте пожалуйста правильность написания моей программы.
Последние десять и первые пять элементов массива Н(27) оставить без изменения, остальные отсортировать в порядке убывания.
#include<iostream.h> int main() { const int n=27; int H[n], i, m, j; srand(time(NULL)); cout<<"vvedite "<<n<<" elementov massiva"<<endl; for(i=0; i<n; i++) cin>>H[i]; H[i] = rand() % 100; for (i=0; i<n-1; i++) for(j=i-1; j<n-1; j++) { if(H[i]<H[i+1]) { m=H[i]; H[i]=H[i-1]; H[i-1]=m;} cout<<"otsortirovannyi massiv:"<<endl; } for(i=0; i<n; i++) cout<<H[i]<<" "; return 0; }
Решение задачи: «Сортировка методом "пузырька" (проверьте правильность)»
textual
Листинг программы
#include <stdio.h> #define N 27 int main() { int arr[N], i, j; srand(time(NULL)); for (i = 0; i < N; i++){ arr[i] = rand() % 100; } for (i = 0; i < N; i++){ printf(" %d", arr[i]); } printf("\n"); for (i = 5; i < N-10; i++){ for (j = 5; j < N-10; j++){ if (arr[i] < arr[j]){ int tmp = arr[j]; arr[j] = arr[i]; arr[i] = tmp; } } } for (i = 0; i < N; i++){ printf(" %d", arr[i]); } printf("\n"); return 0; }
Объяснение кода листинга программы
В этом коде используется метод сортировки пузырек
для массива из 27 случайных чисел. Вот шаги, которые происходят в коде:
- Создается массив arr размером N = 27 и инициализируются случайными числами от 0 до 99.
- Массив выводится на экран.
- Код переходит к внутреннему циклу, который сортирует массив. Внешний цикл начинается с i = 5 и заканчивается N-10, чтобы не затрагивать уже отсортированные элементы в конце массива.
- Внутренний цикл также начинается с i = 5 и заканчивается N-10. Он сравнивает элементы массива и меняет их местами, если текущий элемент меньше следующего. Это делается для того, чтобы
большие
элементывсплыли
в конец массива. - После завершения внутреннего цикла, массив выводится на экран.
- Код завершается, возвращая 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д