Дана строка, слова в которой разделены пробелами. Поменяйте местами самое длинное

Дана строка, слова в которой разделены пробелами. Поменяйте местами самое длинноеи самое короткое слово. Тема Строки. (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<min then begin min:=p; s2:=' '+copy(ss,1,p); end;  delete(ss,1,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.  Пример: Введите строку: поменяйте местами самое длинное и самое короткое слово и местами самое длинное поменяйте самое короткое слово
Не нашли ответ?
Ответить на вопрос
Похожие вопросы