• Дано предложение на английском языке, состоящее из нескольких слов, количество символов слова не превосходит 15 символов найти те из малых согласных букв, которые встречаются в первом и последнем слове предложения.Pascal abc

Ответы 6

  • Можешь показать решение этой задачи с помощью множеств?
    • Автор:

      tanner83
    • 5 лет назад
    • 0
  • А вот последняя строка как раз и есть решение на множествах. a[0].Intersect(a[a.Length-1]).Where(x->Pos(x,sb)>0).Println(',')
  • Intersect - это пересечение двух множеств, образованных символами первого и последнего слов
  • аа,спасибо
    • Автор:

      frisco
    • 5 лет назад
    • 0
  • И из результирующего множество потом с помощью фильтра Where исключаются согласные буквы, а затем символы полученного множества выводятся.
  • 1. "Школьное" решение// PascalABC.NET 3.0, сборка 1073const  sb='bcdfgjklmnpqrstvwxz';  s='Computer programming is a process of computer programs creation';var  i,n:integer;  s1,sn,t:string;begin  i:=1;  while s[i]<>' ' do Inc(i);  s1:=Copy(s,1,i-1);  n:=Length(s); i:=n;  while s[i]<>' ' do Dec(i);  sn:=Copy(s,i+1,n-i);  t:='';  for i:=1 to Length(s1) do    if Pos(s1[i],sb)>0 then t:=t+s1[i];  s1:=t;  t:='';  for i:=1 to Length(sn) do    if Pos(sn[i],sb)>0 then t:=t+sn[i];  sn:=t;  t:='';  for i:=1 to Length(s1) do    if Pos(s1[i],sn)>0 then      if Pos(s1[i],t)=0 then t:=t+s1[i];  for i:=1 to Length(t) do Write(t[i],' ');  Writelnend.  Тестовый прогон:t r 2. "Нормальное" решение// PascalABC.NET 3.0, сборка 1073const  sb='bcdfgjklmnpqrstvwxz';  s='Computer programming is a process of computer programs creation';begin  var a:=s.ToWords(' ');  a[0].Intersect(a[a.Length-1]).Where(x->Pos(x,sb)>0).Println(',')end.Тестовый прогон:t,r
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years