Вопрос задан 25.10.2026 в 17:16. Предмет Информатика. Спрашивает Тефтеров Денис.

Написать программу на C++, которая обрабатывает введённую строку и выставляет все буквы в алфавитном порядке. Например, ввод: input example, вывод: aeilmnptux.

Перейти к ответам

Ответы на вопрос

Отвечает Рубцов Сергей.

Для решения задачи на C++ можно использовать массив логических значений, который позволит расположить буквы в алфавитном порядке и убрать повторяющиеся символы.

Обратите внимание, что в примере input example буквы e и p встречаются дважды, но в результате выводятся только один раз. Значит, программа должна не только сортировать буквы, но и удалять повторения.

Программа на C++

C++
#include 
#include 
#include 
using namespace std;

int main() { string s; bool letters[26] = {false};

cout << "Введите строку: "; getline(cin, s);

for (unsigned char c : s) { c = tolower(c);

if (c >= 'a' && c <= 'z') { letters[c - 'a'] = true; } }

cout << "Результат: ";

for (int i = 0; i < 26; i++) { if (letters[i]) { cout << char('a' + i); } }

cout << endl;

return 0; }

Пример работы программы

Ввод:

Обычный текст
input example

Вывод:

Обычный текст
aeilmnptux

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

  1. С помощью getline(cin, s) считывается вся строка целиком, включая пробелы.

  2. Создаётся массив letters[26], в котором каждому элементу соответствует одна буква английского алфавита.

  3. Программа перебирает все символы введённой строки.

  4. Функция tolower() преобразует заглавные буквы в строчные.

  5. Если символ является английской буквой, соответствующий элемент массива получает значение true.

  6. Затем программа проходит по массиву от первой буквы алфавита до последней и выводит только те буквы, которые встретились в строке.

Например, для строки input example получаем буквы:

Обычный текст
i n p u t e x a m p l e

После сортировки и удаления повторений:

Обычный текст
a e i l m n p t u x

Итоговый результат:

Обычный текст
aeilmnptux

Преимущества решения:

  • Буквы автоматически выводятся в алфавитном порядке.

  • Повторяющиеся буквы удаляются.

  • Пробелы, цифры и знаки препинания игнорируются.

  • Программа работает как со строчными, так и с заглавными английскими буквами.

  • Не требуется использовать дополнительную сортировку.

Сложность алгоритма: O(n), где n — длина введённой строки. Дополнительная память — O(1), поскольку используется массив фиксированного размера из 26 элементов.

Таким образом, программа полностью соответствует приведённому примеру и выводит все уникальные английские буквы строки в алфавитном порядке.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос