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.

Тестовое решение:
Исходная строка:   А    роза    упала   на лапу Азора  
Азора лапу на упала роза А




Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку