Сортировать строку по алфавиту - C (СИ)
Формулировка задачи:
всем привет,Помогите, написал программу чтобы сортировать строку по алфавиту. Как можно переделать, чтобы строка была вводимая
#include <stdio.h> #include <stdlib.h> void sort(char **words,int size) { int n,m,code; char *temp; for(n=1; n<size; n++) for(m=0; m<size-n; m++) { code=strcmp(words[m],words[m+1]); if(code>0) { temp=words[m]; words[m]=words[m+1]; words[m+1]=temp; } } for (n = 0; n < size; n++) printf("%s ",words[n] ); } int main() { char *words []= {"fake","bus","atom"}; int size =sizeof(words)/sizeof(char*); sort(words,size); }
Решение задачи: «Сортировать строку по алфавиту»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <locale.h> void sort(char **words[],int size) { int n,m,code; char *temp; for(n=1; n<size; n++) for(m=0; m<size-n; m++) { code=strcmp(words[m],words[m+1]); if(code>0) { temp=words[m]; words[m]=words[m+1]; words[m+1]=temp; } } printf("\nОтсортированные строки:\n"); for (n = 0; n < size; n++) printf("%s ",words[n] ); printf("\n"); } int main() { setlocale(LC_ALL,"Rus"); char *words[5]={NULL}; char word[5][30]; char end_of_input='y'; int i=0; for (i=0;i<5;i++){ puts("Введите строку:"); gets(word[i]); words[i]=&word[i]; } //char *words []= {"fake","bus","atom"}; int size =sizeof(words)/sizeof(char*); sort(words,size); }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с C:
для работы с выводом и вводом данных, для работы с функцией malloc и free, для работы с локалью. - Создание функции сортировки, которая принимает указатель на массив строк и размер этого массива.
- Внутри функции сортировки создаются следующие переменные: — n, m, code — для выполнения алгоритма сортировки — temp — для временного хранения значения одной из строк при их перестановке
- Используя цикл for, происходит сравнение и перестановка строк в нужном порядке
- После завершения сортировки происходит вывод отсортированного массива строк на экран
- В функции main создается массив строк words[5] и подключается ввод с клавиатуры 5 строк
- Вызывается функция сортировки sort(words, 5) для сортировки введенных строк
- Выводится отсортированный массив строк на экран
- В конце программы присутствует комментарий с примером использования функции sort, где в качестве массива строк можно передать {
fake
,bus
,atom
}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д