Пожалуйста, напишите программу на паскале, даю 50 баллов Во входном файле записан

Пожалуйста, напишите программу на паскале, даю 50 баллов Во входном файле записанрусский текст. Найти в тексте слова длиной не менее шести букв, содержащие более половины букв следующего слова, записать их заглавными буквами и указать после каждого такого слова в скобках найденные буквы. Полученный текст записать в выходной файл. Весь текст, кроме найденных слов, должен остаться неизменным, включая и знаки препинания.
Гость
Ответ(ы) на вопрос:
Гость
Попробуй Program PascalGuru; var s:string;    f,t:text; function preobr(s:string):string;var i,j,p,n,sered:integer;    gl,zp,slovo:string;    m:array [1..80] of string;beginzp:='!?*,.'; gl:='аоуыэяеёюи';  p:=pos(' ',s); i:=0;        repeat        inc(i);        slovo:=copy(s,1,p-1);        m[i]:=slovo;        delete(s,1,p);        p:=pos(' ',s);        until p=0;        n:=i+1;        m[n]:=s;    for i:=1 to n do     begin    s:=m[i];       if pos(s[length(s)],zp)<>0 then p:=length(s)-1 else p:=length(s);     sered:=(p div 2)+1;    if (not odd(p)) or (p<3) then continue;     if pos(s[1],gl)=0       then continue;     if pos(s[sered],gl)=0   then continue;     if pos(s[p],gl)=0       then continue;      s[1]:=UpCase(s[1]);    s[sered]:=UpCase(s[sered]);    s[p]:=UpCase(s[p]);     m[i]:=s+'('+s[1]+','+s[sered]+','+s[p]+')';     end;         s:='';     for i:=1 to n do s:=s+m[i]+' '; preobr:=s;end;  beginassign(f,'input.txt'); reset(f);assign(t,'output.txt'); rewrite(t); while not eof(f) do      begin      readln(f,s);      writeln(t, preobr(s) );      end;  writeln('Файл успешно записан...'); close(f);close(t);readln;end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы