Дан текст, содержащий не более 10 слов, из строчных русских букв, между соседними словами...

0 голосов
49 просмотров

Дан текст, содержащий не более 10 слов, из строчных русских букв, между соседними словами – запятая, за последним словом - точка. Составить программу, в которой нужно напечатать в алфавитном порядке все гласные буквы, которые входят хотя бы в одно слово более двух раз.
написать на паскале и функций не нужно


Информатика (12 баллов) | 49 просмотров
Дан 1 ответ
0 голосов

Const rchars='аеиоуыэюя';var s: string; mas: array[1..length(rchars)] of integer; k,i: integer;
begin  s:='которой,нужно,напечатать,алфавитном,порядке,все,гласные,буквы,которые.'; {readln(s);}  {инициализация массива счётчика гласных}  for k:=1 to length(rchars) do    mas[k]:=0;  i:=1;  while i<=length(s) do begin  {проверка на соответствие буквы гласной, согласно списку гласных}    for k:=1 to length(rchars) do      if (rchars[k]=s[i]) and (mas[k]<>-1) then        mas[k]:=mas[k]+1;    if (s[i]=',') or (s[i]='.') then      begin

        {проверить повторение гласных на два и более раз и проинициализировать массив счётчик}        for k:=1 to length(rchars) do          if (mas[k]<=2) and (mas[k]<>-1) then            mas[k]:=0          else            mas[k]:=-1;      end;    Inc(i);  end;

  {Вывод повторяющихся гласных}
  s:='';  for k:=1 to length(rchars) do    if mas[k]=-1 then      s:=s+rchars[k];

  writeln(s);end.

(17.3k баллов)