uses crt; var u,s,a1,a2: string; ws: array[1..100] of string; kol,l,i,j,q,x,y,z: integer; begin writeln('Введите строку'); readln(u); l:= length(u); a1:='abcdefghijklmnoprstvuwxyzабвгдеёжзийклмнопрстуфхцчшщбыъэюя' a2:='ABCDEFGHIJKLMNOPRSTVUWXYZАБВГДЕЁЖЗЙИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ' i:=1; {Разбиение строки на "слова"} q:=1; z:=0; s:=''; ws[1]:=''; for i:=1 to l do begin if u[i]<>' ' then ws[q]:=ws[q]+u[i] else begin if ws[q]<>'' then begin inc(q); ws[q]:=''; end; end; end; if ws[q]='' then z:=q-1 else z:=q; {Вывод "слов" - для теста, можно убрать} writeln; for i:=1 to z do writeln(ws[i]); readln; {Подсчет количества слов, начинающихся с большой буквы, и с символом} kol:=0; for i:=1 to z do begin s:=ws[i]; if pos(s[1],a2)<>0 then for j:=2 to length(s) do begin if s[j] in ['.',',','!','+','/','*','-','=','^','&','%','@'] then begin kol:=kol+1; break; end; end; end; writeln('Количество = ',kol); {Вывод слов, в которых есть одинаковые буквы} writeln; for i:=1 to z do begin s:=ws[i]; for j:=1 to length(s)-1 do begin x:=pos(s[j],a1) + pos(s[j],a2); y:=pos(s[j+1],a1) + pos(s[j+1],a2); if (x = y) and (x <> 0) then begin writeln(ws[i]); break; end; end; end; readln; end. |