Программа
Program BackToFront;
{ Переворот слов в тексте }
Const StringQuantity=10; { Количество сторок в тексте }
Break=[' ',',']; { Множество разделителей }
Var i:integer; { Счетчик }
Text:array [1..StringQuantity] of string; { Текст }
Procedure WriteString(St:string); { Процедура вывода строки }
procedure WordWrite(Word:string); { Процедура вывода слова }
var i:integer; { Счетчик }
begin
for i:=Length(Word) downto 1 do Write(Word[i])
{ Вывод слова по символам, начиная с конца }
end;
function SeparatingFirstWord(var St:string):string;
{ Функция выделения первого слова из строки }
var Buf:string; { Буферная переменная для слова }
begin
Buf:=''; { Сброс буфера }
while (Length(St)>0) and not (St[1] in Break) do
{ Просмотр строки до конца или до первого разделителя }
begin
Buf:=Buf+St[1];
{ Запись первого символа строки к концу строки буфера }
Delete(St,1,1) { Удаление первого символа из строки }
end;
SeparatingFirstWord:=Buf { Определение значения функции }
end;
Begin
while Length(St)>0 do { Обработка строки до окончания в ней символов }
begin
WordWrite(SeparatingFirstWord(St)); { Вывод первого слова }
while (Length(St)>0)and(St[1] in Break) do { Вывод разделителей }
begin
Write(St[1]); { Вывод первого символа строки }
Delete(St,1,1) { Удаление первого символа из строки }
end
end;
WriteLn { Оформление конца выведенной строки }
End;
BEGIN
WriteLn; { Пропуск строки }
WriteLn('Введите текст '); { Вывод приглашения ввести текст }
for i:=1 to StringQuantity do ReadLn(Text[i]); { Цикл ввода текста }
WriteLn; { Пропуск строки }
for i:=1 to StringQuantity do WriteString(Text[i]) { Цикл вывода текста }
END.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию