Заранее извиняюсь за столь большой текст, но в интернете не могу найти ответа, благодаря которому была бы решена часть задачи. Поэтому обращаюсь к лучшим умам КПИ. В общем я пытаюсь сделать генератор слов на английском языке. Понятное дело настоящие слова у меня не получатся без базы, но рандомный набор символов схожий на слово - вполне можно получить. Его то я и хочу получить. Я посчитал частоту выпадения каждой буквы в английском алфавите, сравнил ее с той что есть в википедии, практически сходятся(погрешность может быть из за того что я взял недостаточно большой кусок текста на английском( я брал произведение Шекспира - A lovers Complaint, где около 2.5к слов), а также посчитал частоту выпадения некоторых знаков пунктуации(тире, запятая, точка, знак восклицания, пробел, апостроф), а также сумму всех 26 вероятностей. Посчитал я частоту, а вот как сделать рандом с определенной вероятностью не знаю. Целый день искал в интернете и пробовал разные способы. Было от способа создать миллиард элементов, где 70% из них будет одно, а 30% будет другое, берешь рандомное число из этого диапазона и сравниваешь: больше 70% или меньше, но не думаю что этот вариант подойдет в моем случае ибо у меня 26 вариантов и создавать триллионы элементов не имеет смысла. Нашел такую статью на стековерфлоу:
https://ru.stackoverflow.com/questions/798057/Как-выбрать-одно-из-значений-с-определенной-вероятностьюПопробовал такое, но т.к. рандом в функции rand() выбирает в основном значения по середине(где то сегодня читал такое, но могу ошибаться), то у меня получается одна и та же буква. И я не понимаю как сделать так, чтобы например буква 'e' выпадала чаще чем буква 'q' или 'j'.