Упорядочить буквы введенного текста по алфавиту (пузырьковая сортировка) - C (СИ)

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

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

Нужна программа, в которую вводишь текст и она расставляет буквы по алфавиту (обязательно с помощью пузырьковой сортировки) и выводит на экран с пробелами между группой букв. Пример: Ввод: Annulo cingitul tenui, plano, nusquam cohaerente, ad eclipticam inclinato. Вывод: aaaaaaa cccc d eeeee g h iiiiiii lllll mm nnnnnnnnn oooo pp q r s ttttt uuuuu

Решение задачи: «Упорядочить буквы введенного текста по алфавиту (пузырьковая сортировка)»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#define N 255
 
int main(void)
{
    char A[N] = 
        "Annulo cingitul tenui plano"
        " nusquam cohaerente ad eclipticam inclinato";
    int i, j, c, l;
    l=strlen(A);
    for ( i = 0; i < l-1; i++ )
        for ( j = l-2; j >= i; j-- )
        if ( A[j] > A[j+1])
        {
            c = A[j];
            A[j] = A[j+1];
            A[j+1] = c;
        }
    for(i=0; i < l; ++i)
    {
        if(A[i]==' ')continue;
            printf("%c", A[i]);
                if(A[i]!=A[i+1])printf(" ");
    }
    return 0;
}

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

  1. Включаем необходимые заголовочные файлы для работы с консолью и строками
  2. Определяем максимальное количество символов в массиве, которое равно 255
  3. Задаем исходную строку в массиве типа char, которая содержит текст для сортировки
  4. Объявляем переменные i, j, c, l типа int, которые будут использоваться в цикле сортировки
  5. Вычисляем длину строки с помощью функции strlen и сохраняем ее в переменной l
  6. Используем два вложенных цикла для пузырьковой сортировки строки по алфавиту
  7. Если текущий символ больше следующего, меняем их местами и запоминаем индекс в переменной c
  8. После окончания первого цикла удаляем лишние пробелы с помощью цикла for и оператора continue
  9. Выводим отсортированную строку на экран с помощью функции printf
  10. Возвращаем 0, чтобы указать, что программа успешно завершилась

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


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

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

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