Сортировка методом "пузырька" (проверьте правильность) - 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 случайных чисел. Вот шаги, которые происходят в коде:

  1. Создается массив arr размером N = 27 и инициализируются случайными числами от 0 до 99.
  2. Массив выводится на экран.
  3. Код переходит к внутреннему циклу, который сортирует массив. Внешний цикл начинается с i = 5 и заканчивается N-10, чтобы не затрагивать уже отсортированные элементы в конце массива.
  4. Внутренний цикл также начинается с i = 5 и заканчивается N-10. Он сравнивает элементы массива и меняет их местами, если текущий элемент меньше следующего. Это делается для того, чтобы большие элементы всплыли в конец массива.
  5. После завершения внутреннего цикла, массив выводится на экран.
  6. Код завершается, возвращая 0.

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


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

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

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