Cümlələr yaratmaq üçün təsadüfi say generatoru istifadə edən C ++ proqramı?

2 Cavab

  • lo_tsawqawSevimli Cavab

    Sizin üçün heç bir kod yazmayacağam, amma bəzi fikirlərim var.



    Proqramın həqiqi sözlərdən istifadə edib etməyəcəyini düşünmürsənsə, tətbiqetmə olduqca asan olmalıdır.

    Əvvəlcə hər cümlə üçün proqramda cümlədə neçə söz olması lazım olduğuna qərar verin. Sonra hər söz üçün proqramda sözdə neçə hərf olmasına qərar verin. Proqram səs-küyün hələ də nəzərəçarpacaq dərəcədə olmasını təmin etmək üçün samitlər və saitlər arasında dəyişməlidir. Proqram ayrıca mötərizə və ya vergül qoymaq üçün müəyyən bir ehtimala sahib ola bilər, bəlkə də vergül üçün 7-dən 1-i və parantez üçün 40-dan 1-i. Cümldəki ilk sözün böyük hərflə başladığına əmin olun. Cümlənin sonunda proqram nöqtə, sual işarəsi və ya nida işarəsi ilə bitib bitməməsinə qərar verməlidir. Daha sonra istədiyiniz bir çox təsadüfi cümləni təkrarlaya bilərsiniz.



    İndi proqramın REAL sözlərindən istifadə etməsini istəyirsinizsə, bir az daha çox iş görməlisiniz. Əvvəlcə sözlərin siyahısına, belə demək üçün bir 'lüğətə' ehtiyacınız olacaq. Həqiqi sözlərdən istifadə edərək cümlələr qurmaq istəyirsinizsə, bunun üçün çox məlumat ehtiva edəcəkdir. Sözün düzensiz formaları olub-olmaması və ya felin olması bir feldirsə, nitq hissəsi (isim, fel, sifət, zərf, kəsiş və s.), Cins (kişi, qadın, neytral) haqqında məlumatlara ehtiyacınız olacaq. keçid və ya keçidsizdir, söz qeyri-müntəzəm cəmlərə sahib olub olmadığına görə isimdirsə (məs. 'datum' və 'data', ya 'qaz' və 'qazlar') və ya heç biri, bəziləri və ya hər zaman xüsusi bir isim olub olmadığı , söz bir sifətdirsə -ly əlavə edərək zərf halına gətirilə biləcəyini və cümlə qurarkən ortaya çıxa biləcək hər hansı bir sual üçün əsasən məlumatı. Yəqin ki, orada işləmək kifayətdir. AMMA, qayğı göstərildikdən sonra, proqram qrammer qaydaları ilə birlikdə təsadüfi say generatorunu istifadə edərək bir 'çərçivə' cümləsi qura bilər, daha sonra 'boşluqları doldurmaq' üçün nitqin sağ hissəsindəki təsadüfi sözləri seçin. Misal üçün:



    (? məqalə?) (? sifət?) (isim) (? zərf?) (fel) (? məqalə?) (? sifət?) (? isim?)

    Sual işarələri belə bir çərçivə cümləsi üçün isteğe bağlı nitq hissələrini göstərir. Proqram aşağıdakı kimi cümlələr qura bilər:

    dəniz atı nəyi simvollaşdırır?

    Mavi bir ərik lütfkarlıqla hündür meymunları hopdurur.



    Avtomobil reallığı sevir.

    Anbarlar istəksiz bir təhlükəsiz hortum tutur.

    Bir körpə qusur.



    Həqiqətən inkişaf etsəniz, digər 'cümlə çərçivələri' yarada bilərsiniz:

    (? məqalə?) (? sifət?) (isim) (? zərf?) (fel-keçmiş_participle)? ilə? (? məqalə?) (? sifət?) (? isim-posessive?) (? məqalə?) (? sifət?) (? isim?)

    Məxmər tanrı ləzzətli müdirin xoşbəxt dollarları ilə az qala əzildi.

    Oxatan bürcü leo ay

    Matta tamamilə kərə yağı ilə rentgen çəkildi.

    Qırmızı bir avtomat qürurla şişirdildi.

    Qırmızı rəngli beysbollar uduldu.

    Nəticə olaraq, bütün dil biliklərinizi və problem həll etmə bacarıqlarınızı - çox vaxt demədən - buna tətbiq etməlisiniz. Əslində bu sınamaq istədiyim bir şey kimi səslənir. Əgər maraqlanırsınızsa, mənə elektron poçtla göndərin.

  • Onuncu

    Buraya bax, sənə cavab verə bilmərəm, ancaq oxşar bir proqramın kodunu verə bilərəm. Bax budur:

    / * Magic.cpp * /

    / * Bu proqram təsadüfi bir rəqəm yaradır və giriş əldə edir

    istifadəçidən. Hər iki matçda 'Magic' başqa desə 'Xeyr

    sehrli '* /

    # daxil edin

    # daxil edin

    # daxil edin

    int generate ();

    boş ana ()

    {

    int rand_no;

    int input_no;

    clrscr ();

    saç düşmək xəyal

    dəyəri<<'What do you think is the Magic Number in my mind : ';

    cin >> input_no;

    rand_no = yaratmaq ();

    əgər (rand_no == input_no)

    neptun sinastriyasına qarşı venus

    dəyəri<<'Woow! You are quite a magician!!!';

    başqa

    dəyəri<<'Phoof! You know no magic!!!';

    getch ();

    }

    int yaratmaq ()

    {

    int rand_no;

    rand_no = rand ();

    return rand_no;

    }