Помогите, пожалуйста, с Паскалем! а) С клавиатуры вводится предложение - строка, в которой есть слова, разделённые пробелом без повторов. Выведите слова в порядке уменьшения их длин. б) Напишите программу, которая будет кодиров...
Помогите, пожалуйста, с Паскалем!
а) С клавиатуры вводится предложение - строка, в которой есть слова, разделённые пробелом без повторов. Выведите слова в порядке уменьшения их длин.
б) Напишите программу, которая будет кодировать введённое предложение шрифтом Цезаря. Суть кодировки в том, что каждый символ строки заменяется на символ, отстоящий в алфавите от заданного вправо на три позиции. Например, слово 'mama' превратится в 'pepe' (между символами 'm' и 'p' 3 символа). В программе используйте только латинские символы.
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.2, сборка 1334 от 12.11.2016
begin
var a:=ReadlnString('->').ToWords;
a.Select((x,i)->(x,x.Length,i)).OrderByDescending(x->x[1]).
ThenBy(x->x[0]).Select(x->x[0]).Println
end.
Пример
-> Карл у Клары украл кораллы Клара у Карла украла кларнет
кларнет кораллы украла Карла Клара Клары украл Карл у у
// PascalABC.NET 3.2, сборка 1334 от 12.11.2016
begin
var s1:='abcdefghijklmnopqrstuvwxyz';
var s2:='defghijklmnopqrstuvwxyzabc';
var s:=ReadlnString('->');
var p:integer;
for var i:=1 to s.Length do begin
p:=pos(s[i],s1);
if p>0 then s[i]:=s2[p]
end;
Writeln(s)
end.
Пример
-> abracadabra
deudfdgdeud
Не нашли ответ?
Похожие вопросы