В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
katevina
katevina
05.06.2022 06:15 •  Информатика

Дана строка, слова в которой разделены пробелами. поменяйте местами самое длинное и самое короткое слово. тема строки. (packal abc.net версия 3.0 сборка 1157)

Показать ответ
Ответ:
messiii45
messiii45
03.10.2020 11:29
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. 

Пример:
Введите строку:
поменяйте местами самое длинное и самое короткое слово
и местами самое длинное поменяйте самое короткое слово
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота