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

Оцени полезность:

12   голосов , оценка 3.583 из 5
Похожие ответы