uses crt; type mn1=set of 'а'..'я'; const mn_gl: set of 'а'..'я' = ['а','е','ё','и','о','у','ы','э','ю','я']; var sn,s1,s2:string; ii,j,kk,kol,max,pz,nach:integer; c:char; mn_b,mn:mn1; begin clrscr; writeln('Примечание!Для перехода на русскую раскладку клавиатура'); writeln('нажмите одновременно правые Shift и Ctrl'); writeln('Введите строку'); read(sn); kk:=-1;{Первое слово без пробела} while (ii<=length(sn)) and (sn[ii]<>' ') do begin inc(kk);inc(ii); end; s1:=copy(sn,0,kk); max:=0; while ii<=length(sn) do begin kol:=kol+1; if sn[ii]=' ' then if kol>=max then begin max:=kol; pz:=ii;kol:=0; end; ii:=ii+1; end; nach:=pz;{Номер позици пробела после длинного слова} pz:=pz-max+1;{Номер позиции с которой начинается длинное слово} s2:=copy(sn,pz,nach-pz);{Самое длинное слово} insert (s1,sn,pz+max-1); delete(sn,pz,max-1); Writeln('Измененная строка:'); writeln(sn); writeln; {Формируем множество букв из строки s} for ii:=1 to length(sn) do include(mn_b,sn[ii]); {Выводим все использованные буквы} writeln('Все использованные буквы:'); for c:='а' to 'я' do if c IN mn_b then write(c); writeln; writeln('Неиспользованные гласные:'); {Формируем множество из гласных букв встречающихся в строке s} for ii:=1 to length(sn) do if sn[ii] in mn_gl then include(mn,sn[ii]); mn_gl:=mn_gl-mn;{Из всех гласных букв убрать те которые уже есть в строке} for c:='а' to 'я' do if c IN mn_gl then write(c); readkey; end.