Program Tlg;
var
s:string;
i,n:integer;
p:real;
begin
Writeln('Введите текст телеграммы, разделяя слова ровно одним пробелом');
Readln(s);
Write('Укажите стоимость слова в рублях: '); Read(p);
n:=1;
for i:=1 to length(s) do
if s[i]=' ' then Inc(n);
Writeln('Стоимость телеграммы, руб: ',n*p:0:2)
end.
Тестовое решение:
Введите текст телеграммы, разделяя слова ровно одним пробелом
Грузите апельсины бочками братья Карамазовы
Укажите стоимость слова в рублях: 3.78
Стоимость телеграммы, руб: 18.90
program RevStr;
var
s,s1:string;
i,j,n:integer;
begin
Write('Исходная строка: '); Readln(s);
s:=' '+s;
n:=length(s);
i:=n; j:=n; s1:='';
while i>0 do begin
j:=i;
while (s[j]=' ') and (j>1) do Dec(j); { удалили пробелы }
i:=j;
while (s[j]<>' ') and (j>1) do Dec(j); { пробежали по непробелам }
if j>0 then s1:=s1+' '+Copy(s, j+1, i-j);
i:=j-1
end;
s1:=Copy(s1,2,length(s1)-1);
Writeln(s1)
end.
Тестовое решение:
Исходная строка: А роза упала на лапу Азора
Азора лапу на упала роза А