Pascal. дана строка из строчных букв. между соседними словами - запятая, за последним словом - точка. составить программу, печатающую в алфавитном порядке: 1. все гласные буквы, которые входят в каждое слово. 2. все согласные буквы, которые не входят ни в одно слово.

Svetlanaaaa16 Svetlanaaaa16    3   31.07.2019 09:20    1

Ответы
geniip geniip  03.10.2020 18:26
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
function Гласные_в_слове(w:string):sequence of char;
begin
  Result:=w.ToCharArray.Where(c->Pos(c,'аеёиоуыэюя')>0).Distinct
end;

begin
  var s:=ReadlnString('>');
  var w:=s.ToWords(',','.');
  var P:=Гласные_в_слове(w[0]);
  for var i:=1 to Length(w,0)-1 do begin
    var Q:=Гласные_в_слове(w[i]);
    P:=P.InterSect(Q)
    end;
  P:=P.Sorted;
  if P.Count>0 then begin
    Write('Гласные, которые есть в каждом слове: ');
    P.Println(',')
    end
  else
    Writeln('Нет ни одной одинаковой гласной во всех словах');
  var R:='бвгджзйклмнпрстфхцчшщъь'.ToCharArray.ToList;
  foreach var c in s do
    if c in R then R.Remove(c);
  if R.Count>0 then begin
    Write('Согласные, которых нет ни в одном слове: ');
    R.Println(',')
    end
  else
    Writeln('Все согласные присутствуют в тексте')
end.

Тестовое решение
> фонарик,барахолка,биосфера,волокуша,макароны.
Гласные, которые есть в каждом слове: а,о
Согласные, которых нет ни в одном слове: г,д,ж,з,й,п,т,ц,ч,щ,ъ,ь
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика