Функция, упорядочивающая буквы по алфавиту - C (СИ)
Формулировка задачи:
Прошу помощи, нужно написать программу, которая расставляет буквы по алфавиту через функцию
Решение задачи: «Функция, упорядочивающая буквы по алфавиту»
textual
Листинг программы
#include <stdio.h>
void bubble_sort(char iarr[], int num);
int main() {
char Test[15] = "zyxfedcba";
printf("String before sorting: %s\n", Test);
bubble_sort(Test, strlen(Test));
printf("String after sorting: %s\n", Test);
return 0;
}
void bubble_sort(char iarr[], int num) {
int i, j, temp;
for (i = 1; i < num; i++) {
for (j = 0; j < num - 1; j++) {
if (iarr[j] > iarr[j + 1]) {
temp = iarr[j];
iarr[j] = iarr[j + 1];
iarr[j + 1] = temp;
}
}
}
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем функцию bubble_sort, которая принимает два аргумента: массив символов и его длину
- В функции main создаем массив Test, инициализируем его значениями
zyxfedcba - Выводим исходное значение массива Test с помощью функции printf
- Вызываем функцию bubble_sort, передавая в нее массив Test и его длину
- После сортировки выводим отсортированное значение массива Test с помощью функции printf
- Возвращаем 0 из функции main, чтобы указать на успешный конец работы программы
- В функции bubble_sort объявляем три переменные: i, j и temp. Значение i меняется от 1 до num-1, j меняется от 0 до num-2, temp хранит временное значение
- Используя два вложенных цикла, мы сравниваем и меняем значения элементов массива, пока не будет выполнено условие, что текущий элемент больше следующего
- После выполнения всех итераций, массив будет отсортирован по возрастанию