Randomze (C/C++)
2003-06-03T11:58:59+02:00
2003-06-05T16:47:14+02:00
2022-07-19T05:32:10+02:00
  • Sziasztok!:) Nem tudom itt hogy működik a renszer ez egy chat vagy csak sima üzenetet tudok küldeni?
    Ki profi a C++ Builder Proffesional 5 programkörnyezetben?:)) Jó lenne ha valki tudna nekem segíteni:))
    Mutasd a teljes hozzászólást!
  • argh
    % = mod ember!
    gyorsan toroljuk ezt a forumot
    Mutasd a teljes hozzászólást!
  • Bocsi. Tiszta hülye vagyok!
    Exit barátunk analógiájára
    rand()%4 ill rand()%8-cl megoldottam.
    (csak a % jellel nem voltam eddig teljesen tisztában.... most kezdtem)



    Mutasd a teljes hozzászólást!
  • nem randomize(3) hanem random(3).
    és nem 3, hanem random(4).
    ennyi...
    Mutasd a teljes hozzászólást!
  • Hi!

    Az biztos, hogy jót iratok ki.

    A probléma az, hogy Exit barátunk által írt kóddal, működik a 0 vagy 1-es kimenet.
    De szükségem van 4 (0-3) ill 8 (0-7)kimenetes lehetőségekre is.
    Ezt, hogy csinálom meg???
    Mit div-eljek, mod-oljak???
    (A randomize(3) nekem vagy csak 0-át, vagy csak 2-őt ad. Nem jó. Pascalban
    vígan használtam ezeket a függvényeket.
    (gondolom a borland nem baromlta el).
    A proci órajele vagy az prendszer beleszólhat?)

    Thx

    Mutasd a teljes hozzászólást!

  • Erdekes problema az mar biztos.
    DE! Biztos vagy abban hogy azt iratod ki, amit kaptal?
    Ha igen, akkor gany az a hivas, hagyd a francba. Vagy meg megteheted a kovetkezot:
    ha a pl. vmilyen kettovel oszthato n-re a random(n) normalisan mukodik, akkor csinalj egy random(n) mod 2 -t es kesz.
    Mutasd a teljes hozzászólást!
  • Exit: Köszi, ezzel működik!!
    De továbbra sem értem.
    random(3) esetén véletlenszeűen
    kidobja a 0-át, 1-et vagy 2-őt.
    Ahogy kell. De random(2) esetén miért csak 0-át ad???
    Mutasd a teljes hozzászólást!
  • A Random a kovetkezo keppen mukodik C-ben:

    2 fgv. szamit:

    void srand(unsigned seed)

    int rand(void)


    Mindketto az stdlib.h-ban van, tehat azt includeold, ha eddig nem tetted.

    Az srand() inicializalja a randomot. A parametere a ez eloallitando veletlenszamsorozat kezdopontja. Ezt celszeru a program elejen az inicializalasakkor meghivni. Ugyanazon parameter eseten mindig ugyanazokat a szamokat generalja /pszeudoveletlen/. Ezert erdemes ezt a parametert idohoz kotni.

    A rand() visszaad egy veletlenszamot 0 es RAND_MAX /egy elore beallitott constans/ kozott.

    Ugyhogy kb. ezzel mukodnie kell:


    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>

    int logikaiveletlen() {
    return (rand()%2);
    }

    int main() {
    int i;

    srand(time(NULL));
    for(i=0;i<100;i++) {
    printf("\\\\\\\\n%d",logikaiveletlen());
    }
    return 0;
    }


    Ez az egesz leiras ANSI C-re vonatkozott.
    Mutasd a teljes hozzászólást!
  • Hi!

    50%-os kimenetelű eredményre van szükségem.
    Tehát vagy 0 vagy 1 (esetleg 1 vagy 2).
    A helpben ezt találtam:
    randomize() //ez pascalban is így van, ok
    random(int num); //ez 0 és num-1 között generál véletlen számot.

    Tehát a random(2) az vagy 0 vagy egyet ad vissza. (gondolom).
    De NEM! Csak 0-át ad!!!
    Az is érdekes, hogy a random(10)-nél csak páratlan számokat ad vissza.
    Tud valaki valami okosat mondani???
    Előre is köszi.
    Mutasd a teljes hozzászólást!
Címkék
abcd