daily pastebin goal
63%
SHARE
TWEET

Untitled

a guest Apr 16th, 2018 66 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. type
  2.   t = set of char;
  3. const
  4.   rus : t = ['а'..'я','А'..'Я'];      {множество букв слов}
  5.   sh : t = ['ч','ш','щ','Ч','Ш','Щ']; {множество шипящих}
  6. var
  7.   txt:string; {исходный текст}
  8.   i:integer;
  9.   ischet:boolean; {четное или нечетное слово}
  10.   chet,nechet,res: t ;
  11.  
  12. begin
  13.  
  14.  chet  :=  []; {множество шипящих четных слов}
  15.  nechet  := []; {множество шипящих нечетных слов}
  16.  txt := 'нечет четщ шшшша шшвв';
  17.  i := 1;
  18.  ischet := true;
  19.  
  20.  while i<=length(txt) do begin
  21.    
  22.    ischet := not ischet;
  23.    
  24.    {проходим внутри слова}
  25.    while ((txt[i]) in rus) and (i<=length(txt)) do begin
  26.      if txt[i] in sh then {если буква шипящая то}
  27.          if ischet then  
  28.              chet := chet + [txt[i]]  {если слово четное то добавляем в chet}
  29.          else
  30.              nechet := nechet + [txt[i]]; {если слово нечетное то добавляем в nechet}
  31.      i := i+1;
  32.    end;
  33.      
  34.    {пропускаем все символы между слов}
  35.    while not (txt[i] in rus) and (i<=length(txt)) do
  36.      i := i+1;
  37.  end;
  38.    
  39.  writeln(txt); {выводим слово}
  40.  
  41.  write('шипящие:');
  42.  res := chet - nechet; {вычисляем множество шипящих входящих в четные слова и не входящие в нечетные}
  43.  for i:=1 to length(txt) do
  44.     if txt[i] in res then  
  45.       write(txt[i],' ');
  46.  writeln;
  47.  
  48. end.
RAW Paste Data
Top