В заданном массиве упорядочить строки в алфавитном порядке - 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;
}