Отсортировать текст по алфавиту - C (СИ)

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

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

доброго времени суток! нужно отсортировать текст по алфавиту (3 строки по 30 символов), справился с этой задачей лишь частично: смог отсортировать лишь строки, а не весь текст(массив), как нужно по заданию;
пример: mama dcba в конечном итоге имею: aamm abcd а должен: aaabcdmm

Решение задачи: «Отсортировать текст по алфавиту»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int compare (const void *a, const void *b)
{
  return *(char*)a - *(char*)b;
}
 
int main(void) 
{
    int i;
    char str2[90], str[3][30] = {"mama", "dcba", "312"};
    for (i=0; i < 3; i++)
        strcpy(&str2[strlen(str2)], str[i]);
    qsort (str2, strlen(str2), sizeof(char), compare);
    printf("%s\n", str2);
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с памятью и строками.
  2. Определение функции сравнения, которая будет использоваться в функции сортировки.
  3. Инициализация массива строк для сортировки.
  4. Копирование содержимого массива строк в одну строку, в конце которой будет добавляется символ '\0'.
  5. Использование функции быстрой сортировки для сортировки строки.
  6. Вывод отсортированной строки на экран.
  7. Возврат 0, что означает успешное выполнение программы.

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


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

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

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