В заданном массиве упорядочить строки в алфавитном порядке - C (СИ)
Формулировка задачи:
Нужна вводить матриц char names[M][N] N,M константы(define) , Нужна писать в нем M имя и программа будет сортиравать имя по алфавитный форме , нужно использовать пузырьковый алгоритм и функции gets(), puts(), strcmp(), strcpy()
Решение задачи: «В заданном массиве упорядочить строки в алфавитном порядке»
textual
Листинг программы
- #include <stdio.h>
- #include <string.h>
- #include <stdbool.h>
- #define M 4
- #define N 20
- int main(void)
- {
- char names[M][N];
- for (int i = 0; i < M; i++)
- gets(names[i]); // без проверки на переполнение
- for (int i = 0; i < M-1; i++) {
- bool swapped = false;
- for (int j = 0; j < M-i-1; j++) {
- if (strcmp(names[j], names[j+1]) > 0) {
- char tmp[N];
- strcpy(tmp, names[j]);
- strcpy(names[j], names[j+1]);
- strcpy(names[j+1], tmp);
- swapped = true;
- }
- }
- if(!swapped)
- break;
- }
- puts("after sort:");
- for (int i = 0; i < M; i++)
- puts(names[i]);
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д