Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- t = set of char;
- const
- rus : t = ['а'..'я','А'..'Я']; {множество букв слов}
- sh : t = ['ч','ш','щ','Ч','Ш','Щ']; {множество шипящих}
- var
- txt:string; {исходный текст}
- i:integer;
- ischet:boolean; {четное или нечетное слово}
- chet,nechet,res: t ;
- begin
- chet := []; {множество шипящих четных слов}
- nechet := []; {множество шипящих нечетных слов}
- txt := 'нечет четщ шшшша шшвв';
- i := 1;
- ischet := true;
- while i<=length(txt) do begin
- ischet := not ischet;
- {проходим внутри слова}
- while ((txt[i]) in rus) and (i<=length(txt)) do begin
- if txt[i] in sh then {если буква шипящая то}
- if ischet then
- chet := chet + [txt[i]] {если слово четное то добавляем в chet}
- else
- nechet := nechet + [txt[i]]; {если слово нечетное то добавляем в nechet}
- i := i+1;
- end;
- {пропускаем все символы между слов}
- while not (txt[i] in rus) and (i<=length(txt)) do
- i := i+1;
- end;
- writeln(txt); {выводим слово}
- write('шипящие:');
- res := chet - nechet; {вычисляем множество шипящих входящих в четные слова и не входящие в нечетные}
- for i:=1 to length(txt) do
- if txt[i] in res then
- write(txt[i],' ');
- writeln;
- end.
Add Comment
Please, Sign In to add comment