Формат ввода Вводятся три строки. В первой слова разделены пробелами, во второй символами -::- и в третьей символами }{.
Формат вывода
Для каждого слова из первой строки выбрать:
из второй строки те слова, которые по алфавиту идут позже проверяемого слова (без учета регистра) и длина которых меньше, чем у него, хотя бы на два символа;
из третьей строки слова, в которых есть только буквы, нет ни цифр, ни знаков препинания, но есть хотя бы две буквы из проверяемого слова, если опять же привести к одному регистру.
Выводить в формате:
:
с большой буквы (остальные маленькие) через запятую и пробел;
через вторую букву проверяемого слова в верхнем регистре, окруженную пробелами
Если каких-то слов не оказалось, выводить пустую строку.
Пример 1
Ввод Вывод
Manhugger Maidmasher Childchewer
All-::-countries-::-except-::-Greenland-::-are-::-VISITED-::-Nowadays
Hey}{and}{they}{are}{afraid}{2of}{polar}{bears,}{ofcourse.
Manhugger:
Visited
Hey A and A they A are A afraid A polar
Maidmasher:
Visited, Nowadays
Hey A and A they A are A afraid A polar
Childchewer:
Countries, Except, Greenland, Visited, Nowadays
Hey H they H are H afraid H polar
Пример 2
Ввод Вывод
Bonecruncher Bloodbottler Gizzardgulper Fleshlumpeater
they-::-are-::-as-::-harmful-::-as-::-your-::-Little_dogs
Croutons-1}{will}{not}{be}{enough,}{Turkish_bath}{near}{the9}{sea
Bonecruncher:
They, Harmful, Your
not O be O near
Bloodbottler:
They, Harmful, Your
not L be L near
Gizzardgulper:
They, Harmful, Your, Little_dogs
will I near I sea
Fleshlumpeater:
They, Harmful, Your, Little_dogs
near L sea
num=double; { в этом месте можно сменить тип на иной }
function Legal(a,b,c:num):boolean;
{ возвращает True, если из отрезков длиной a,b,c
можно построить треугольник }
begin
Legal:=(a+b>c) and (a+c>b) and (b+c>a)
end;
function Med(a,b,c:num):num;
{ возвращает длину медианы, проведенную к стороне а }
begin
Med:=sqrt(2*(sqr(b)+sqr(c))-sqr(a))/2
end;
procedure Med3(a,b,c:num; var m1,m2,m3:num);
{ возвращает длины m1,m2,m3 всех медиан треугольника,
построенного из отрезков длиной a,b,c.
При этом m1- длина медианы, проведенной к стороне а,
m2- дилна медианы,проведенной к стороне b и т.д.
Если треугольник построить нельзя, m1=m2=m3=0 }
begin
if Legal(a,b,c) then
begin m1:=Med(a,b,c); m2:=Med(b,a,c); m3:=Med(c,a,b) end
else begin m1:=0; m2:=0; m3:=0 end
end;
{ основная программа }
var
a,b,c,m1,m2,m3:num;
begin
Write('Введите длины сторон треугольника: '); Readln(a,b,c);
Med3(a,b,c,m1,m2,m3);
if m1>0 then begin
Med3(m1,m2,m3,m1,m2,m3);
if m1>0 then Writeln('Длины медиан: ',m1,', ',m2,', ',m3)
else Writeln('Из полученных медиан нельзя построить треугольник.')
end
else
Writeln('Невозможно построить треугольник с такими сторонами.')
end.
Тестовое решение:
Введите длины сторон треугольника: 14.3 18.9 8.6
Длины медиан: 10.725, 14.175, 6.45