// Name Generator пашет криво но пашет
// недоделана
#include <iostream>
#include <math.h>
#include <time.h>
#include <cstdlib>
#include <string>
using namespace std;
class namegen 
{
	public: 
	string name; // само имя в результате.
	unsigned int kolslog;// количество слогов
	unsigned int konec; // окончание на согласную или гласную
	unsigned int uklon; //уклон в гласность или согласность
	string s;
	 string generator() 
	{
		
		for (unsigned int i=0; i<(kolslog); i++)
		{
			unsigned int a=rand()%25;
			if (a<6) //определяем согласная или гласная первая буква слога
			{//если гласная то следующая согласная
				name=name+s[a]+s[rand()%6+19];
				
			}
			else //если согласная, то вторая может быть любой
		{
			name=name+s[a];
			a=rand()%25;
			if (a<6) // если гласная
			{
				name=name+s[a];
				a=rand()%6+19;
				name=name+s[a];
			}
			else // если согласная то третья только гласная
			{
				name=name+s[a];
				a=rand()%5;
				name=name+s[a];
			}
		}
		
		}
		
		
	return name; 
	}
	protected:
	string slog;// слог
	int a;// номер буквы в модифицированном алфавите.
};
int main()
{
	string si="aeiouybcdfghjklmnpqrstvwxz";
	namegen n;
	cout << "Введите количество слогов=";
	cin>>n.kolslog;
	cout<<endl<< "Введите тип окончания гл-0 или согл-1 : ";
	cin>>n.konec;
	cout<<"Укажите уклон в гласность или согласность 0 или 1 : ";
	cin >>n.uklon;
	for (int i=0; i<25; i++)
	{
		n.s[i]=si[i];
	}
	srand (time(NULL));
	int a=0;
	while (a<10) // выдаём список из десяти имён 
	{
		n.generator();
		cout<<n.name<<endl;
		n.name.clear();
		//n.name="";
		cout<<n.name[2]; // для отладки строки чтоб видеть удалилась ли она
		a++;
	}
	return 0;
}
