Дано строка А, состоящая из слов в латинском алфавите, разделенных одним или несколькими пробелами. Составить программу, которая напечатает эти же слова из строки А, разделенные одним пробелам и расположенные в обратном порядке. (Паскаль)
program ReverseWords; var str, word, reversedStr: string; i: integer; begin // ввод строки writeln('Введите строку:'); readln(str);
reversedStr := ''; word := '';
// перебираем символы строки справа налево for i := length(str) downto 1 do begin // если текущий символ не пробел, добавляем его к слову if str[i] <> ' ' then word := str[i] + word else begin // если текущий символ пробел, добавляем слово в обратном порядке к общей строке reversedStr := reversedStr + word + ' '; word := ''; // сбрасываем текущее слово end; end;
// добавляем последнее слово в строку reversedStr := reversedStr + word;
// выводим результат writeln('Результат:'); writeln(reversedStr); end.
program ReverseWords;
var
str, word, reversedStr: string;
i: integer;
begin
// ввод строки
writeln('Введите строку:');
readln(str);
reversedStr := '';
word := '';
// перебираем символы строки справа налево
for i := length(str) downto 1 do
begin
// если текущий символ не пробел, добавляем его к слову
if str[i] <> ' ' then
word := str[i] + word
else
begin
// если текущий символ пробел, добавляем слово в обратном порядке к общей строке
reversedStr := reversedStr + word + ' ';
word := ''; // сбрасываем текущее слово
end;
end;
// добавляем последнее слово в строку
reversedStr := reversedStr + word;
// выводим результат
writeln('Результат:');
writeln(reversedStr);
end.