1.Напишите программу, которая подсчитывает стоимость телеграммы, текст которой вводится с клавиатуры.
2.Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова (разделенные одним пробелом), но расположенные в обратном порядке.
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.
Тестовое решение:
Исходная строка: А роза упала на лапу Азора
Азора лапу на упала роза А
