Отсортировать одномерный массив в порядке возрастания, используя метод пузырька - 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"; }
Объяснение кода листинга программы
- #include
- подключает библиотеку для работы с потоками ввода-вывода - using namespace std; - позволяет использовать стандартное пространство имен std
- void Filling (int a[], int s); - объявляет функцию Filling, которая заполняет массив a значениями, считываемыми с помощью ввода с клавиатуры
- void Sort_bubble (int a[], int s); - объявляет функцию Sort_bubble, которая сортирует массив a методом пузырька
- void Show (int a[], int s); - объявляет функцию Show, которая выводит отсортированный массив на экран
- void main (){ - объявляет функцию main, которая является точкой входа в программу
- setlocale (LC_ALL,
Rus
); - устанавливает русскую локаль для корректного вывода кириллических символов - const int s=5; - объявляет константу s, определяющую размер массива
- int a[s]; - объявляет одномерный массив a динамической длины, размер которого определяется константой s
- Filling (a,s); - вызывает функцию Filling для заполнения массива a
- Sort_bubble (a,s); - вызывает функцию Sort_bubble для сортировки массива a
- Show (a,s); - вызывает функцию Show для вывода отсортированного массива на экран
- for(int i=0; i<s; i++){ - начинает цикл for, выполняющийся s раз, где i - переменная-счетчик
- cout<<
Введите элемент №
<<i+1<<-
; - выводит на экран приглашение для ввода элемента массива с указанием его номера - cin>>a[i]; - считывает введенное значение и сохраняет его в элементе массива с индексом i
- for(int q=0; q<s; q++){ - начинает цикл for, выполняющийся s раз, где q - переменная-счетчик
- for(int q=s-1; q>i; q--){ - вложенный цикл for, выполняющийся s-1 раз, где q - переменная-счетчик, уменьшающаяся на единицу на каждой итерации внешнего цикла
- if(a[q-1]>a[q]){ - условие, если выполняется, то происходит перестановка элементов массива
- int temp=a[q]; - временная переменная для хранения элемента массива, который будет заменен
- a[q]=a[q-1]; - замена элементов массива
- a[q-1]=temp; - восстановление исходного значения элемента массива
- cout<<
Меняем местами
<<a[q]<<и
<<a[q-1]<<\n
; - вывод на экран информации о произведенной перестановке - cout<<
\nОтсортированный массив:\n
; - вывод на экран приглашения для вывода отсортированного массива - for(int i=0; i<s; i++) - начинает цикл for, выполняющийся s раз, где i - переменная-счетчик
- cout<<a[i]<<
- cout<<
\n
; - завершает вывод на экран информации о массиве
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д