Написать программу ** Паскале. Заполнить массив случайным образом буквами латинского...

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

Написать программу на Паскале. Заполнить массив случайным образом буквами латинского алфавита и цифрами (арабскими). Отсортировать массив следующим образом: сначала гласные ,затем цифры,затем согласные. Позиции элементов относительно элементов того же вида не должны измениться.


Информатика (185 баллов) | 45 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var dig:=['0'..'9'];
  var glas:=['a','e','i','o','u','y'];
  var sogl:set of char:=['a'..'z']-glas;
  var alpha:='0123456789abcdefghijklmnopqrstuvwxyz';
  var n:=ReadInteger('Количество символов:');
  var a:=SeqRandom(n,1,36).Select(k->alpha[k]).ToArray;
  a.Println;
  a.Where(c->c in glas).Concat(a.Where(c->c in dig)).ToArray.
    Concat(a.Where(c->c in sogl)).Println
end.

Пример
Количество символов: 50
xkdh00nhw8qr32cgcxiwm8ewbnqagmiquew3e6bc7rs2a05ids
ieaiueeai008328367205xkdhnhwqrcgcxwmwbnqgmqwbcrsds
(150k баллов)