Corsairs
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Ekama19 Проверка слова согласно заданным условиям: Код: var s,t: string; r,j,l: integer; sg, gl: set of char; begin writeln('-----'); readln(s); t:=s; l:= length(s); gl:=['a','e','i','j','o','u','y']; sg:=['b','c','d','f','g','h','k','l','m','n','p','q','r','s','t','v','w','x','z']; if s[1] in gl then begin r:=2; j:=0; while (j<>2) and (r<>l) do begin if s[r] in sg then begin inc(j); if j=2 then delete(t,r,1); end; inc(r); end; end; writeln('====='); writeln(t); readln; end. | Надо только изменить символы на кириллицу (ну лень мне было...). Код разделения предложения на отдельные слова есть в теме, нужно только найти и подправить... (т.е. добавить проверку и обработку слов) Добавлено: CheburashkaRR Насколько я понял - в результирующей строке любой символ (кроме пробела) не должен встречаться больше одного раза? Тогда - в чем сложность то? Используем множество символов (изначально множество пустое). Просматриваем строку посимвольно. Если пробел - то к результирующей строке добавляем два пробела. Если не пробел - то проверяем, есть ли этот символ в множестве. Если есть - то просто переходим к следующему символу. Если нет - то добавляем этот символ к множеству и к результирующей строке... | Всего записей: 569 | Зарегистр. 30-06-2006 | Отправлено: 22:01 18-02-2013 | Исправлено: Corsairs, 22:18 18-02-2013 |
|