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.
Пример: Введите строку: поменяйте местами самое длинное и самое короткое слово и местами самое длинное поменяйте самое короткое слово
ВасилийКлимова1695
22.05.2022
Ну функция randomize() создаёт, перемешивает новые рандомные числа, а random() их предоставляет. Разных вариаций написания много, я например сделал с массивом, можно в принципе и без него, но с ним лучше т.к. числа хранятся в массиве и их можно выводить в будущем, если это слишком сложно для тебя, то я могу написать программу без использования массива.
Var i,b:integer; A:array[1..20] of integer; Begin Randomize(); for i:=1 to 20 do A[i]:=Random(0,50); Write('Из чисел: '); for i:=1 to 20 do begin if i=20 then Writeln(A[i]) else Write(A[i],', ') end; Write('Кол-во четных равняется: '); for i:=1 to 20 do if (A[i] mod 2 = 0) then b:=b+1; Writeln(b) End.
Вот.
О плюсах и минусах суди сам(а).