#include <vector>
#include <iterator>
#include <iostream>
#include <cstring>
#include <cassert>
#include <algorithm>
#include <time.h>
using namespace std;
char alphaA[]={'a','e','i','o','u','y','\n'};
char alphaB[]={'B','C','D','F','G','H','J','K','L','M','N','P','Q','R','S','T','V','W','X','Z','\n'};
char getCharGenerate (int Letter) // возвращает либо гласную либо согласную
{ // букву. это зависит от того какое число передаю : 1 или 0
char x;
if (Letter == 1) x=alphaA[rand() % 5];
else x=alphaB[rand() % 19];
return tolower(x);
}
string NameGenerate (int lengthName) //тут собственно генерирую имя
{
string name ("");
int firstLetter = rand() % 2; // переменная получается в диапазоне от 0..1
name = toupper(getCharGenerate(firstLetter)); // Первый символ получаю
for (int i = 1 ; i != lengthName-1 ; ++i)
{ //получаю остальную часть имени
firstLetter = i%2; // так, чтобы гласные чередовались с согласными
name = name + getCharGenerate(firstLetter);
}
return name;
}
int main()
{
srand(time(0));
int namelength = 6 + rand() % 5; //рандомная длина имени
string name =("");
name = NameGenerate(namelength); //вызываю процедуру
cout<<name;
return 0;
}
CgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxjYXNzZXJ0PgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKI2luY2x1ZGUgPHRpbWUuaD4KCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2hhciBhbHBoYUFbXT17J2EnLCdlJywnaScsJ28nLCd1JywneScsJ1xuJ307IAoKY2hhciBhbHBoYUJbXT17J0InLCdDJywnRCcsJ0YnLCdHJywnSCcsJ0onLCdLJywnTCcsJ00nLCdOJywnUCcsJ1EnLCdSJywnUycsJ1QnLCdWJywnVycsJ1gnLCdaJywnXG4nfTsKCgoKY2hhciBnZXRDaGFyR2VuZXJhdGUgKGludCBMZXR0ZXIpIC8vINCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC70LjQsdC+INCz0LvQsNGB0L3Rg9GOINC70LjQsdC+INGB0L7Qs9C70LDRgdC90YPRjgoKeyAvLyDQsdGD0LrQstGDLiDRjdGC0L4g0LfQsNCy0LjRgdC40YIg0L7RgiDRgtC+0LPQviDQutCw0LrQvtC1INGH0LjRgdC70L4g0L/QtdGA0LXQtNCw0Y4gOiAxINC40LvQuCAwCgpjaGFyIHg7CmlmIChMZXR0ZXIgPT0gMSkgeD1hbHBoYUFbcmFuZCgpICUgNV07CmVsc2UgeD1hbHBoYUJbcmFuZCgpICUgMTldOwpyZXR1cm4gdG9sb3dlcih4KTsKCn0KCgpzdHJpbmcgTmFtZUdlbmVyYXRlIChpbnQgbGVuZ3RoTmFtZSkgLy/RgtGD0YIg0YHQvtCx0YHRgtCy0LXQvdC90L4g0LPQtdC90LXRgNC40YDRg9GOINC40LzRjwp7CglzdHJpbmcgbmFtZSAoIiIpOwoJaW50IGZpcnN0TGV0dGVyID0gcmFuZCgpICUgMjsgLy8g0L/QtdGA0LXQvNC10L3QvdCw0Y8g0L/QvtC70YPRh9Cw0LXRgtGB0Y8g0LIg0LTQuNCw0L/QsNC30L7QvdC1INC+0YIgMC4uMQoJbmFtZSA9IHRvdXBwZXIoZ2V0Q2hhckdlbmVyYXRlKGZpcnN0TGV0dGVyKSk7IC8vINCf0LXRgNCy0YvQuSDRgdC40LzQstC+0Lsg0L/QvtC70YPRh9Cw0Y4KCQoJZm9yIChpbnQgaSA9IDEgOyBpICE9IGxlbmd0aE5hbWUtMSA7ICsraSkKCXsgLy/Qv9C+0LvRg9GH0LDRjiDQvtGB0YLQsNC70YzQvdGD0Y4g0YfQsNGB0YLRjCDQuNC80LXQvdC4IAoJICAgIGZpcnN0TGV0dGVyID0gaSUyOyAvLyDRgtCw0LosINGH0YLQvtCx0Ysg0LPQu9Cw0YHQvdGL0LUg0YfQtdGA0LXQtNC+0LLQsNC70LjRgdGMINGBINGB0L7Qs9C70LDRgdC90YvQvNC4CgkgICAgbmFtZSA9IG5hbWUgKyBnZXRDaGFyR2VuZXJhdGUoZmlyc3RMZXR0ZXIpOwoJfQoKCXJldHVybiBuYW1lOwoJCn0KCgoKCmludCBtYWluKCkKCnsKIApzcmFuZCh0aW1lKDApKTsKaW50IG5hbWVsZW5ndGggPSA2ICsgcmFuZCgpICUgNTsgLy/RgNCw0L3QtNC+0LzQvdCw0Y8g0LTQu9C40L3QsCDQuNC80LXQvdC4CgpzdHJpbmcgbmFtZSA9KCIiKTsgCm5hbWUgPSBOYW1lR2VuZXJhdGUobmFtZWxlbmd0aCk7IC8v0LLRi9C30YvQstCw0Y4g0L/RgNC+0YbQtdC00YPRgNGDCmNvdXQ8PG5hbWU7CnJldHVybiAwOwogCn0KCgo=