Отсортировать одномерный массив в порядке возрастания, используя метод пузырька - C (СИ)

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

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

Здравствуйте, помогите написать вот такую программу. Заполнить одномерный массив с клавиатуры. Отсортировать одномерный массив в порядке возрастания, используя метод пузырька процесс сортировки отображать на экране в конце вывести отсортированный массив.

Решение задачи: «Отсортировать одномерный массив в порядке возрастания, используя метод пузырька»

textual
Листинг программы
#include<iostream>
using namespace std;
void Filling (int a[], int s);
void Sort_bubble (int a[], int s);
void Show (int a[], int s);
void main (){
    setlocale (LC_ALL, "Rus");
    const int s=5;
    int a[s];
    Filling (a,s);
    Sort_bubble (a,s);
    Show (a,s);
}
void Filling (int a[], int s){
    // заполнение массива
    for(int i=0; i<s; i++){
        cout<<"Введите элемент №"<<i+1<<" - ";
        cin>>a[i];
    }
}
void Sort_bubble (int a[], int s){
    for(int i=0; i<s; i++){
        for(int q=s-1; q>i; q--){
            if(a[q-1]>a[q]){
                cout<<"Меняем местами "<<a[q]<<" и "<<a[q-1]<<"\n";
                int temp=a[q];
                a[q]=a[q-1];
                a[q-1]=temp;
            }   
        }
    }
}
void Show (int a[], int s){
    cout<<"\nОтсортированный массив:\n";
    for(int i=0; i<s; i++)
        cout<<a[i]<<"  ";
    cout<<"\n";
}

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

  1. #include - подключает библиотеку для работы с потоками ввода-вывода
  2. using namespace std; - позволяет использовать стандартное пространство имен std
  3. void Filling (int a[], int s); - объявляет функцию Filling, которая заполняет массив a значениями, считываемыми с помощью ввода с клавиатуры
  4. void Sort_bubble (int a[], int s); - объявляет функцию Sort_bubble, которая сортирует массив a методом пузырька
  5. void Show (int a[], int s); - объявляет функцию Show, которая выводит отсортированный массив на экран
  6. void main (){ - объявляет функцию main, которая является точкой входа в программу
  7. setlocale (LC_ALL, Rus); - устанавливает русскую локаль для корректного вывода кириллических символов
  8. const int s=5; - объявляет константу s, определяющую размер массива
  9. int a[s]; - объявляет одномерный массив a динамической длины, размер которого определяется константой s
  10. Filling (a,s); - вызывает функцию Filling для заполнения массива a
  11. Sort_bubble (a,s); - вызывает функцию Sort_bubble для сортировки массива a
  12. Show (a,s); - вызывает функцию Show для вывода отсортированного массива на экран
  13. for(int i=0; i<s; i++){ - начинает цикл for, выполняющийся s раз, где i - переменная-счетчик
  14. cout<<Введите элемент №<<i+1<<-; - выводит на экран приглашение для ввода элемента массива с указанием его номера
  15. cin>>a[i]; - считывает введенное значение и сохраняет его в элементе массива с индексом i
  16. for(int q=0; q<s; q++){ - начинает цикл for, выполняющийся s раз, где q - переменная-счетчик
  17. for(int q=s-1; q>i; q--){ - вложенный цикл for, выполняющийся s-1 раз, где q - переменная-счетчик, уменьшающаяся на единицу на каждой итерации внешнего цикла
  18. if(a[q-1]>a[q]){ - условие, если выполняется, то происходит перестановка элементов массива
  19. int temp=a[q]; - временная переменная для хранения элемента массива, который будет заменен
  20. a[q]=a[q-1]; - замена элементов массива
  21. a[q-1]=temp; - восстановление исходного значения элемента массива
  22. cout<<Меняем местами<<a[q]<<и<<a[q-1]<<\n; - вывод на экран информации о произведенной перестановке
  23. cout<<\nОтсортированный массив:\n; - вывод на экран приглашения для вывода отсортированного массива
  24. for(int i=0; i<s; i++) - начинает цикл for, выполняющийся s раз, где i - переменная-счетчик
  25. cout<<a[i]<< ; - вывод на экран значения элемента массива, отделенного пробелами от других значений
  26. cout<<\n; - завершает вывод на экран информации о массиве

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


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

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

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