Отсортировать одномерный массив в порядке возрастания, используя метод пузырька - 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
; - завершает вывод на экран информации о массиве
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д