fork download
  1.  
  2.  
  3. #include <vector>
  4. #include <iterator>
  5. #include <iostream>
  6. #include <cstring>
  7. #include <cassert>
  8. #include <algorithm>
  9.  
  10. #include <time.h>
  11.  
  12.  
  13. using namespace std;
  14.  
  15. char alphaA[]={'a','e','i','o','u','y','\n'};
  16.  
  17. char alphaB[]={'B','C','D','F','G','H','J','K','L','M','N','P','Q','R','S','T','V','W','X','Z','\n'};
  18.  
  19.  
  20.  
  21. char getCharGenerate (int Letter) // возвращает либо гласную либо согласную
  22.  
  23. { // букву. это зависит от того какое число передаю : 1 или 0
  24.  
  25. char x;
  26. if (Letter == 1) x=alphaA[rand() % 5];
  27. else x=alphaB[rand() % 19];
  28. return tolower(x);
  29.  
  30. }
  31.  
  32.  
  33. string NameGenerate (int lengthName) //тут собственно генерирую имя
  34. {
  35. string name ("");
  36. int firstLetter = rand() % 2; // переменная получается в диапазоне от 0..1
  37. name = toupper(getCharGenerate(firstLetter)); // Первый символ получаю
  38.  
  39. for (int i = 1 ; i != lengthName-1 ; ++i)
  40. { //получаю остальную часть имени
  41. firstLetter = i%2; // так, чтобы гласные чередовались с согласными
  42. name = name + getCharGenerate(firstLetter);
  43. }
  44.  
  45. return name;
  46.  
  47. }
  48.  
  49.  
  50.  
  51.  
  52. int main()
  53.  
  54. {
  55.  
  56. srand(time(0));
  57. int namelength = 6 + rand() % 5; //рандомная длина имени
  58.  
  59. string name =("");
  60. name = NameGenerate(namelength); //вызываю процедуру
  61. cout<<name;
  62. return 0;
  63.  
  64. }
  65.  
  66.  
  67.  
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
Dicuni