Программа на C ++, которая использует генератор случайных чисел для создания предложений?

Узнайте свое число ангела

2 ответа

  • lo_tsawqawЛюбимый ответ

    Я не собираюсь писать для вас код, но у меня есть несколько идей.



    Если вам все равно, использует ли программа настоящие слова, то реализация должна быть довольно простой.

    Сначала дайте программе определить, сколько слов должно быть в предложении для каждого предложения. Затем для каждого слова программа решает, сколько букв должно быть в слове. Программа должна чередовать согласные и гласные, чтобы гарантировать, что тарабарщина по-прежнему произносится. Программа также может иметь установленную вероятность вставки скобок или запятых, возможно, 1 из 7 для запятой и 1 из 40 для скобок. Убедитесь, что первое слово в предложении начинается с заглавной буквы. В конце предложения программа должна решить, заканчивать ли его точкой, вопросительным знаком или восклицательным знаком. Затем вы можете повторять любое количество случайных предложений, которое захотите.

    Теперь, если вы хотите, чтобы программа использовала НАСТОЯЩИЕ слова, вам придется проделать немного больше работы. Во-первых, вам понадобится список слов, так сказать «словарь». Он должен содержать много информации, если вы хотите составлять предложения с использованием настоящих слов. Вам понадобится информация о его части речи (существительное, глагол, прилагательное, наречие, междометие и т. Д.), Роде (мужской, женский, средний), если слово является глаголом, имеет ли оно какие-либо неправильные формы или глагол является переходным или непереходным, если слово является существительным, имеет ли оно неправильные формы множественного числа (например, «данные» и «данные», или «гусь» и «гуси»), или является ли это существительное собственное - нет, частично или всегда , если слово является прилагательным, можно ли превратить его в наречие, добавив -ly, и в основном информация для любого другого вопроса, который может возникнуть при составлении предложения. Наверное, работы здесь более чем достаточно. НО, как только об этом позаботятся, программа может использовать генератор случайных чисел вместе с правилами грамматики, чтобы создать «структуру» предложения, а затем просто выбрать случайные слова из правой части речи, чтобы «заполнить пробелы». Например:

    (? статья?) (? прилагательное?) (существительное) (? наречие?) (глагол) (? статья?) (? прилагательное?) (? существительное?)

    Знаками вопроса обозначены необязательные части речи для такого рамочного предложения. Программа может составлять такие предложения:

    что означает число 5 в Библии

    Синий абрикос милостиво оплодотворяет высоких обезьян.

    Автомобиль любит реальность.

    Сараи неохотно держат безопасный шланг.

    Ребенка рвет.

    Если вы действительно продвинетесь, вы можете создать другие «рамки предложений»:

    (? article?) (? прилагательное?) (существительное) was (? наречие?) (глагол-past_participle)? by? (? статья?) (? прилагательное?) (? существительное-обладатель?) (? статья?) (? прилагательное?) (? существительное?)

    Бархатного бога чуть не раздавили счастливые доллары восхитительного босса.

    Мэтью был полностью подвергнут рентгеновскому облучению от масла.

    Красный торговый автомат был раздут от гордости.

    Смешные бейсбольные мячи были проглочены.

    В заключение, вам придется применить все свои лингвистические знания и навыки решения проблем - не говоря уже о большом количестве времени - на этом. На самом деле это похоже на то, что я хотел бы попробовать. Напишите мне, если вам интересно.

  • Senthil

    Послушайте, я не могу дать вам ответ, но могу дать код для аналогичной программы. Вот:

    Марс в Рыбах женщина

    / * Magic.cpp * /

    / * Эта программа генерирует случайное число и получает ввод

    от пользователя. Если оба совпадают, скажите 'Magic' else 'Вы не знаете

    магия '* /

    #включать

    #включать

    #включать

    int generate ();

    пустая функция()

    {

    int rand_no;

    int input_no;

    clrscr ();

    луна секстиль плутон синастрия

    Стоимость<<'What do you think is the Magic Number in my mind : ';

    cin >> input_no;

    rand_no = генерировать ();

    если (rand_no == input_no)

    Стоимость<<'Woow! You are quite a magician!!!';

    еще

    Стоимость<<'Phoof! You know no magic!!!';

    getch ();

    }

    int генерировать ()

    {

    int rand_no;

    Близнецы Солнце Рыбы Луна

    rand_no = rand ();

    return rand_no;

    }

Узнайте свое число ангела