C ++ programa, kuri naudoja atsitiktinių skaičių generatorių sakiniams kurti?

Sužinokite Savo Angelo Skaičių

2 atsakymai

  • lo_tsawqawMėgstamiausias atsakymas

    Aš nerašysiu jums jokio kodo, bet turiu keletą idėjų.



    Jei jums nerūpi, ar programa naudoja tikrus žodžius, tada įgyvendinimas turėtų būti gana lengvas.

    Pirma, kiekvienam sakiniui leiskite programai nuspręsti, kiek žodžių turėtų būti sakinyje. Tada kiekvienam žodžiui leiskite programai nuspręsti, kiek raidžių turėtų būti žodyje. Programa turėtų kaitalioti priebalsius ir balsius, kad būtų užtikrinta, jog gibėjimas vis dar ištartas. Programa taip pat gali turėti nustatytą tikimybę įterpti skliaustus ar kablelius, galbūt 1 iš 7 kableliams ir 1 iš 40 skliausteliams. Įsitikinkite, kad pirmasis sakinio žodis prasideda didžiąja raide. Sakinio pabaigoje programa turėtų nuspręsti, ar pabaigti tašku, klaustuku ar šauktuku. Tada galite pakartoti, kiek atsitiktinių sakinių norite.

    Dabar, jei norite, kad programa naudotų TIKRUS žodžius, turėsite atlikti šiek tiek daugiau darbo. Pirmiausia jums reikės žodžių sąrašo, taip sakant „žodyno“. Jei norite sakinius sakyti naudodami tikrus žodžius, jame turės būti daug informacijos. Jums reikės informacijos apie kalbos dalį (daiktavardį, veiksmažodį, būdvardį, prieveiksmį, įsiterpimą ir kt.), Lytį (vyriškąjį, moteriškąjį, niekinį), jei žodis yra veiksmažodis, ar jis turi netaisyklingas formas, ar veiksmažodis yra tranzityvus arba beprasmis, jei žodis yra daiktavardis, nesvarbu, ar jis yra netaisyklingos daugiskaitos (pvz., „atskaitos taškas“ ir „duomenys“, ar „žąsis“, ir „žąsys“), ar tai yra tikrasis daiktavardis, nėra jokio, kai kurio ar viso to , jei žodis yra būdvardis, ar jį galima paversti prieveiksmiu pridedant -ly, ir iš esmės informaciją apie bet kurį kitą klausimą, kuris gali iškilti darant sakinį. Tai tikriausiai daugiau nei pakankamai darbo čia. BET, kai tai bus pasirūpinta, programa gali naudoti atsitiktinių skaičių generatorių kartu su gramatiko taisyklėmis, kad sukurtų sakinį „pagrindas“, tada tiesiog pasirinkite atsitiktinius dešinės kalbos dalies žodžius, kad „užpildytumėte tuščias vietas“. Pavyzdžiui:

    (? straipsnis?) (? būdvardis?) (daiktavardis) (? prieveiksmis?) (veiksmažodis) (? straipsnis?) (? būdvardis?) (? daiktavardis?)

    Klausiamieji ženklai nurodo tokio pagrindinio sakinio neprivalomas kalbos dalis. Programa gali sukurti tokius sakinius:

    svajoja apie lokius namuose

    Mėlynas abrikosas maloniai apvaisina aukštas beždžiones.

    Automobilis mėgsta realybę.

    Tvartai nenoriai laiko saugią žarną.

    Kūdikis vemia.

    Jei tikrai pažengsite į priekį, galite sukurti kitas „sakinių sistemas“:

    (? straipsnis?) (? būdvardis?) (daiktavardis) buvo (? prieveiksmis?) (veiksmažodis-praeities_dalyvas)? (? straipsnis?) (? būdvardis?) (? daiktavardis-pozityvus?) (? straipsnis?) (? būdvardis?) (? daiktavardis?)

    Aksominis dievas buvo beveik sudaužytas laimingo boso laimingų dolerių.

    saturnas 8-ajame name

    Matą visiškai apšvietė sviestas.

    Raudonas automatas buvo išpūstas pasididžiavimo.

    Raudoni beisbolo kamuoliai buvo praryti.

    Apibendrinant, jums teks pritaikyti visas savo kalbines žinias ir problemų sprendimo įgūdžius - jau nekalbant apie daug laiko. Iš tikrųjų tai skamba kaip kažkas, ką norėčiau išbandyti. Parašykite man el. Laišką, jei jus domina.

  • Sentilis

    Pažvelk čia, aš negaliu duoti tau atsakymo, bet aš galiu duoti panašios programos kodą. Štai jis:

    / * Magic.cpp * /

    / * Ši programa sugeneruoja atsitiktinį skaičių ir gauna įvestį

    nuo vartotojo. Jei abi rungtynės sako „Magija“, kita “Jūs nežinote

    magija' */

    # įtraukti

    # įtraukti

    # įtraukti

    int generuoti ();

    negaliojantis pagrindinis ()

    {

    int rand_no;

    int įvesties_no;

    clrscr ();

    atsitiktinai atsirandančios angelo sargo monetos

    išlaidos<<'What do you think is the Magic Number in my mind : ';

    cin >> įvesties_no;

    rand_no = generuoti ();

    jei (rand_no == input_no)

    Vandenis saulės vėžys mėnulis

    išlaidos<<'Woow! You are quite a magician!!!';

    Kitas

    išlaidos<<'Phoof! You know no magic!!!';

    getch ();

    }

    int generuoti ()

    {

    int rand_no;

    rand_no = randas ();

    grįžti rand_no;

    }

Sužinokite Savo Angelo Skaičių