C ++ програма, която използва генератор на произволни числа за създаване на изречения?

2 отговора

  • lo_tsawqawЛюбим отговор

    Няма да пиша код за вас, но имам няколко идеи.



    Ако не ви интересува дали програмата използва реални думи, тогава внедряването трябва да е доста лесно.

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



    Сега, ако искате програмата да използва ИСТИНСКИ думи, ще трябва да свършите малко повече работа. Първо, ще ви трябва списък с думи, „речник“, така да се каже. Това ще трябва да съдържа много информация, ако искате да правите изречения с реални думи. Ще ви е необходима информация за нейната част от речта (съществително, глагол, прилагателно, наречие, междуметие и др.), Пол (мъжки, женски, среден), ако думата е глагол дали има някакви неправилни форми или дали глаголът е преходен или непреходен, ако думата е съществително, независимо дали има неправилни множествени числа (напр. „дата“ и „данни“, или „гъска“ и „гъски“) или дали е подходящо съществително няма, някои или през цялото време , ако думата е прилагателно дали може да се превърне в наречие чрез добавяне на -ly и основно информация за всеки друг въпрос, който може да възникне при съставяне на изречение. Това вероятно е повече от достатъчно работа точно там. НО, след като се погрижи, програмата може да използва генератора на случайни числа, заедно с правилата на грамера, за да направи изречение „рамка“, след което просто да избере произволни думи от дясната част на речта, за да „попълни празните места“. Например:



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

    Въпросителните знаци обозначават незадължителни части на речта за такова рамково изречение. Програмата може да прави изречения по следния начин:

    какво означава, когато сърби дясната ръка

    Синя кайсия любезно импрегнира високите маймуни.



    Колата харесва реалността.

    Хамбарите неохотно държат безопасен маркуч.

    Бебе повръща.



    Ако станете наистина напреднали, можете да създадете други „рамки за изречения“:

    (? статия?) (? прилагателно?) (съществително) беше (? наречие?) (глагол-минало_частица)? от? (? статия?) (? прилагателно?) (? съществително-притежателно?) (? член?) (? прилагателно?) (? съществително?)

    Кадифен бог беше почти разбит от щастливите долари на вкусния бос.

    Матю беше напълно рентгеново от масло.

    Червен автомат беше надут от гордост.

    Нелепите бейзболни топки бяха погълнати.

    лунен тригон сатурн синастрия

    В заключение ще трябва да приложите всичките си езикови знания и умения за решаване на проблеми - да не говорим за много време - върху това. Всъщност звучи като нещо, което бих искал да опитам. Изпратете ми имейл, ако се интересувате.

  • Сентил

    Вижте тук, не мога да ви дам отговор, но мога да дам кода за подобна програма. Ето го:

    / * Magic.cpp * /

    / * Тази програма генерира произволно число и получава вход

    от потребител. Ако и двете съвпадат, кажете „Magic“ else „Знаете не

    магия '* /

    #include

    #include

    #include

    int generiraj ();

    void main ()

    {

    int rand_no;

    int input_no;

    clrscr ();

    какво означава числото 15

    разходи<<'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 ();

    връщане rand_no;

    }