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

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

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


Информатика (15 баллов) | 47 просмотров
0

да я в программе проверю и вам сообщу

0

хорошо

0

Уговорил-таки! Упорный... ;-)

0

Пьяную кухарку уговаривать не намного дольше.

0

Автор хочет "сделайте мне красиво", но не может сказать, акварель, масло, или ржавым гвоздём на кирпичной стене.

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1467 от 02.06.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var sg:=['а','е','и','о','у','ы','э','ю','я'];
  var a:=ReadlnString('Вводите текст: ').ToWords(',','.');
  var r:set of char=[];
  for var i:=0 to a.Length-1 do begin
    var b:=a[i].Where(c->c in sg).GroupBy(t->t).Select(t->(t.Key,t.Count));
    foreach var t in b do
      if t[1]>2 then r+=[t[0]];
    end;
  var s:='';
  foreach var c in r do s+=c;
  s.OrderBy(t->t).Println(',')
end.

Пример
Вводите текст:  Дает,корова,молоко,а,жираф,это,длинношеее,животное.
е,о
(150k баллов)
0

foreach var c in r do s+=c;
s.OrderBy(t->t).Println(',')

0

это последнее

0

Спасибо большое за Вашу помощь