Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Вывести строку (в Pascal), содержащую эти же слова, разделенные одним пробелом и расположенные в алфавитном порядке.
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.
Пример работы программы:
Введите строку из слов, разделенных пробелами: ДАНА СТРОКА СОСТОЯЩАЯ ИЗ РУССКИХ СЛОВ Отсортированная строка: ДАНА ИЗ РУССКИХ СЛОВ СОСТОЯЩАЯ
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.
Пример работы программы:
Введите строку из слов, разделенных пробелами: ДАНА СТРОКА СОСТОЯЩАЯ ИЗ РУССКИХ СЛОВОтсортированная строка: ДАНА ИЗ РУССКИХ СЛОВ СОСТОЯЩАЯ