Дан массив А$(10). Вывести элементы массива в порядке возрастания - C (СИ)

Формулировка задачи:

Дан массив А$(10) вывести элементы массива в порядке зростания. Спасибо зарание.

Код к задаче: «Дан массив А$(10). Вывести элементы массива в порядке возрастания - C (СИ)»

textual
/* Сортировка сначала по длине, за тем по алфавиту */
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
 int cmp(const void * a, const void * b) {
    int ret = strlen(*(const char**)a) - strlen(*(const char**)b);
    
    return ( ret ) ? ret : strcmp(*(const char**)a, *(const char**)b);
 }
 
 int main(void) {
    const char* names[] = { "sidorov", "petrov", "kukushkin", "aaron", "gates", "jackson", "jobs", "antonov", "wales", "ivanov" };
    size_t i, count = sizeof(names) / sizeof(char*);
    
    printf("Unsorted:\n");
    for ( i = 0; i < count; ++i )
        printf("%s\n", names[i]);
    
    qsort(names, count, sizeof(char*), cmp);
    
    printf("\nSorted:\n");
    for ( i = 0; i < count; ++i )
        printf("%s\n", names[i]);
    
    return 0;
 }
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

5   голосов, оценка 4.000 из 5


СДЕЛАЙТЕ РЕПОСТ