GAECHKA
Твоя помощница в решении задач

Вывод всех слов в тексте в алфавитном порядке

Программу написал, но при выводе она смотрит только на первую букву слова. Нужно чтобы программа сортировала по всем буквам слова. Например, ввод:autobus, alphabet. Моя программа выведет: autobus alphabet. А нужно: alphabet autobus.
Вот мой код:
Кликните здесь для просмотра всего текста
var
  Sings: set of char;
  Text, UpText, FinalText: string;
  i, j, n: integer;
 
begin
  Sings := [' ', ',', '.', '!', '?'];
  write('Введите свой текст:');
  readln(Text);
  
  for i := 1 to Text.Length do
  begin
    UpText := UpText + UpCase(Text[i]);
  end;
  UpText := ' ' + UpText + ' ';
  
  for i := 65 to 90 do
  begin
    for j := 1 to UpText.Length do
    begin
      if (UpText[j] = chr(i)) and (UpText[j - 1] = ' ') then
      begin
        n := j;
        
        while(not (UpText [n] in Sings)) do 
        begin
          FinalText := FinalText + Text[n - 1];
          n := n + 1;
        end;
        
        FinalText := FinalText + ' ';
      end;
    end;
  end;
  
  writeln('Получившийся текст:', FinalText);
  
end.
0
вопрос задан

Источник


0 ответов