Расположить элементы массива в порядке возрастания и в порядке убывания - C (СИ)
Формулировка задачи:
Здравствуйте! Начинаю изучать Си, нужно написать простенькую программу. Мне рассказали про функцию swap, но я не знаю, как применить ее в языке Си (есть только образец для Си++). Вот мой код, подскажите, пожалуйста, где функцию swap объявить и как:
#include <stdio.h> #include <stdlib.h> int main() { int i = 0, j = 0, m[10]; printf ("Vvedite elementi massiva cherez ENTER: "); for (i = 0; i <= 9; i++) scanf ("%d",&m[i]); for (i = 9; i >= 1; i--) { for (j = 0; j <= i; j++) { if ((m[i]<m[j]) swap(&m[i], &m[j])); } } printf ("V poryadke vozrastania: "); for (i = 0; i <= 9; i++) printf ("%d", m[i]); printf ("\n V poryadke ubivania: "); for (i = 9; i >= 0; i--) printf ("%d", m[i]); getch (); return 0; }
Решение задачи: «Расположить элементы массива в порядке возрастания и в порядке убывания»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <conio.h> int i = 0, j = 0, m[10]; void swap(int*m[i],int*m[j]) { int t=*m[i]; *m[i]=*m[j]; *m[i]=t; } int main() { printf ("Vvedite elementi massiva cherez ENTER: "); for (i = 0; i <= 9; i++) { scanf ("%d",&m[i]); } for (i = 9; i >= 1; i--) { for (j = 0; j <= i; j++) { if ((m[i]<m[j]) swap(&m[i], &m[j])); } } printf ("V poryadke vozrastania: "); for (i = 0; i <= 9; i++) { printf ("%d", m[i]); } printf ("\n V poryadke ubivania: "); for (i = 9; i >= 0; i--) { printf ("%d", m[i]); } getch (); return 0; }
Объяснение кода листинга программы
В этом коде реализована сортировка массива методом сортировки пузырьком
. Вот список действий, которые происходят в коде:
- Сначала объявляются переменные:
i
иj
- используются для обозначения индексов элементов массива во время сортировки;m
- массив, который нужно отсортировать.
- Затем происходит чтение элементов массива с помощью функции
scanf()
. - Далее начинается сортировка. Внешний цикл идет от последнего элемента массива к первому, а внутренний - от текущего элемента к предыдущему. Если текущий элемент больше следующего, они меняются местами с помощью функции
swap()
. - После сортировки происходит вывод отсортированного массива в порядке возрастания и в порядке убывания с помощью функции
printf()
. - В конце программы вызывается функция
getch()
, которая ожидает нажатия клавиши, и функцияreturn 0;
, которая завершает работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д