Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Вывести строку (в Pascal), содержащую эти же слова, разделенные одним пробелом и расположенные в алфавитном порядке.

11 Мар 2020 в 19:42
315 +1
0
Ответы
1
program AlphabetSort;
var
str, word, result: string;
words: array of string;
i, j: integer;
begin
Write('Введите строку из слов, разделенных пробелами: ');
ReadLn(str);
word := '';
SetLength(words, 0);
for i := 1 to Length(str) do
begin
if str[i] <> ' ' then
word := word + str[i]
else
begin
SetLength(words, Length(words) + 1);
words[High(words)] := word;
word := '';
end;
end;
if word <> '' then
begin
SetLength(words, Length(words) + 1);
words[High(words)] := word;
end;
for i := 0 to High(words) do
begin
for j := i + 1 to High(words) do
begin
if words[i] > words[j] then
begin
word := words[i];
words[i] := words[j];
words[j] := word;
end;
end;
end;
for i := 0 to High(words) do
begin
result := result + words[i] + ' ';
end;
WriteLn('Отсортированная строка: ', result);
end.

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

Введите строку из слов, разделенных пробелами: ДАНА СТРОКА СОСТОЯЩАЯ ИЗ РУССКИХ СЛОВ
Отсортированная строка: ДАНА ИЗ РУССКИХ СЛОВ СОСТОЯЩАЯ
18 Апр 2024 в 16:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир