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

Узнай цену своей работы

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

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

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

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;
 }

Объяснение кода листинга программы

В этом коде используется стандартная функция сортировки qsort() для сортировки массива имен. Функция сортировки использует пользовательскую функцию сравнения cmp(), которая сначала сравнивает имена по длине, а затем по алфавиту. Код выполняет следующие действия:

  1. Включает необходимые заголовочные файлы:
    • stdio.h для работы с консолью
    • stdlib.h для работы с функцией qsort()
    • string.h для работы со строками
  2. Определяет функцию сравнения cmp(), которая принимает два указателя на строки и возвращает отрицательное значение, если первая строка меньше второй по алфавиту, положительное значение, если первая строка больше второй по алфавиту, и ноль, если строки равны.
  3. Определяет основную функцию программы main(), которая:
    • Создает массив строк names[] с десятью именами
    • Выводит все имена в консоль в отсортированном порядке
    • Сортирует массив names[] с помощью функции qsort() и функции сравнения cmp()
    • Выводит все имена в консоль в отсортированном порядке
  4. Завершает программу и возвращает значение 0, указывающее на успешное выполнение.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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