Информатика, опубликовано 2018-08-22 20:14:34 by Гость
Дана строка, слова в которой разделены пробелами. Поменяйте местами самое длинное и самое короткое слово. Тема Строки. (Packal ABC.NET Версия 3.0 сборка 1157)
Ответ оставил Гость
Var s,ss,s1,s2:string;
p,p1,p2,max,min:integer;
begin
writeln(Введите строку:);
readln(s);
ss:=s+ ;
max:=0; min:=255;
p:=pos( ,ss);
while p>0 do
begin
if p>max then begin max:=p; s1:= +copy(ss,1,p); end;
if p
p:=pos( ,ss);
end;
s:= +s+ ;
p1:=pos(s1,s);
p2:=pos(s2,s);
if p1>p2
then begin delete(s,p1,max+1); insert(s2,s,p1); delete(s,p2,min+1); insert(s1,s,p2); end
else begin delete(s,p2,min+1); insert(s1,s,p2); delete(s,p1,max+1); insert(s2,s,p1); end;
s:=trim(s);
writeln(s);
end.
Пример:
Введите строку:
поменяйте местами самое длинное и самое короткое слово
и местами самое длинное поменяйте самое короткое слово
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.
