Random u c++

poruka: 38
|
čitano: 23.994
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Random u c++

jel mi moze neko objasnit naredbu rand hvala

 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Random u c++
#include<iostream>
#include<ctime>

using namespace std;
int main()
{
srand(time(NULL));           //POZOVI PRVO FUNKCIJU time() koja generira
                               //tj.simulira pravu slučajnost
rand () 
                                   //ignoriraj prvi poziv rand() jer daje uvijek isti "broj"
                                    //ili slican(sistemsko vrijeme)
for(int x =0; x<10;x++)

cout<<(rand()%10)<<endl;
system("pause");
return 0;
}




To je ukratko ali funkcionalno za primejer u c++-u.
rand()-----finkcija generira znači slucajni broj koji se poziva pomoću for petlje,a na početku to započinjemo sa srand() funkcijom.


#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a;
    for(a=0;a<20;a++)
    cout<<rand()<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
/*EVO OVDJE JE POZVANA RAND FUNKCIJA 20 PUTA DA BI
GENERIRALA SLUCAJNI NIZ,NEDOSTATAK JE DA SE UVIJEK GENERIRA
ISTI NIZ ,ZATO SE NA POČTKU STAVLJA SRAND FUNKCIJA */


Sad cemo samo dodati srand(2).....dobiti ćemo drugi niz itd.....

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a;
    srand(2);
    for(a=0;a<20;a++)
    cout<<rand()<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}




...stavljajući srand(2) pa srand(3)  dobijemo druge nizove pozivajući rand()....

Bilo bi lijepo da se taj broj u zagradi stalno mijenja i zato stavljamo "naredbu" time(NULL) unutar srand(time(NULL) u
onom prvom primjeru......da bi dobili automatizam izmjene brojeva.
možeš pozvati rand funkciju samo jednom ali mi je pozivamo kroz for petlju onoliko puta koliko želimo..
A na početku je pozivamo samo jednom prvi put prije for petlje zato jer daje slične počrtne brojeve
i zato da bi to izbjegli pozivamo je jednom izvan for petlje iako možemo i bez toga.
Znači srand i rand funkcije u kombinaciji s time(NULL) se koriste za dobivanje slučajnog niza.
Eto ukratko.(% to je operator modulo daje samo one brojeve tj. ostatke nakon dijeljenja s 10)
To znači npr. slučajni broj dobiven s rand() funkcijom je 1000 i ostatak je 0 kad se podijeli s deset i ti dobiješ nulu kao rezultat.
Probaj staviti 5 umjesto deset pa pogledaj ili dva itd.










Poruka je uređivana zadnji put sub 27.9.2008 23:04 (v_maxcpp).
15 godina
neaktivan
offline
Random u c++

hvala

a zakaj si stavio 10% kaj to znaci

 
0 0 hvala 0
16 godina
neaktivan
offline
Random u c++

% je operator koji kao rezultat daje ostatak cijelobrojnog dijeljenja

 

npr.

 

5 % 2 = 1

4 % 2 = 0

99 % 10 = 9

 

za bilo koji x:   x % 10 daje posljednju znamenku tog broja (56 6, 24 4)

 
1 0 hvala 0
15 godina
neaktivan
offline
Random u c++

hvala vam dobro ste objasnili

 
0 0 hvala 0
15 godina
neaktivan
offline
Random u c++

jel moze neki stavit jos neki primjer kaj se moze sve radit sa random

 
0 0 hvala 0
16 godina
neaktivan
offline
Random u c++

lol

 

pa radi što god želiš... random ti daje slučajan broj a što ćeš ti raditi s brojevima je tvoja stvar

 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Random u c++

Kad budem imao vremena stavim ti neku igricu ,dobro nije ono što sam prvo rekao ali
koristi rand() da bi se igra odvijala,ništa neću objašnjavati jer sama po sebi je jasna :

 

#include <iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int zavrti();
int main()
{
    enum Dogadjaj {NASTAVAK,POBJEDA,GUBITAK};
    int bod;
    Dogadjaj stat_igre;
    srand(static_cast<unsigned>(time(0)));
    int zbroj_prvi = zavrti();

    switch(zbroj_prvi)
    {
    case 7: //pobjeda ,7 u prvom krugu
    case 11://------.11 u prvom krugu
        stat_igre =POBJEDA;
        break;
    case 2:
    case 3:
    case 12:
        stat_igre = GUBITAK;
        break;

    default:
        stat_igre=NASTAVAK;
        bod = zbroj_prvi;
        cout<<"Dobio sam : "<<bod<<endl;
        break;
    }
    //-------------------------------------
    while(stat_igre ==NASTAVAK)
    {
        zbroj_prvi = zavrti();
        if (zbroj_prvi == bod)
            stat_igre = POBJEDA;
        else
            if(zbroj_prvi ==7)
                stat_igre = GUBITAK;
    }
    if(stat_igre == POBJEDA)
        cout<<"Igrac pobjedjuje!"<<endl;
    else
        cout<<"Igrac gubi!"<<endl;


    return 0;
}
int zavrti()
{
    int zavrt1 = 1+rand()%6;
    int zavrt2 = 1 + rand()%6;
    int zbroj = zavrt1 + zavrt2;
    cout<<"Igrac je igrao "<<zavrt1<<" + " <<zavrt2<<" = "<<zbroj<<endl;
    return zbroj;
}

 

 

 

 

 

 

 

Poruka je uređivana zadnji put uto 7.10.2008 18:27 (v_maxcpp).
15 godina
neaktivan
offline
Random u c++

kaj znaci ova naredba enum

 
0 0 hvala 0
16 godina
neaktivan
offline
Random u c++

Deklaracija enumeracije.

 

Enumeracijom stvaraš neku vrstu svog tipa podataka, svakom elementu enumeracije se pridružuje neki broj (c++ može sam, a možeš i ti definirati koja int vrijednost za koji element). Nakon toga koristiš tu riječ iz enumeracije kao da je riječ o int konstanti.

 

 

 
0 0 hvala 0
15 godina
neaktivan
offline
Random u c++

hvala

 
0 0 hvala 0
16 godina
neaktivan
offline
Random u c++

iako mislim da su ti dobro objasnili, mislim da bi jos samo trebalo dodat ovo.
Znaci, rand() funkcija vraca slucajan broj iz inervala 0 do RAND_MAX koji je najcesce najveci integer, tj. negdje oko 2e9 (ako se ne varam)...
Da bi dobio slucajan broj iz intervala [a,b] mozes koristitovu funkciju:

inline int random (const int &a, const int &b) { return (rand() % (b-a+1)) + a; }

 

ovaj inline ubrzava pozive funkciji jer kompajler ne poziva tu funkciju neko samo ubaci kompajlani kod na mjesto poziva... (opet, bar mislim... ispravite me ako sam u krivu)

const ti znaci da se vrjednost varijabli a i b nece mjenjat,
& ti znaci prenos varijable po referenci (o tome mozes citat u tutorialima na ovom forumu),

sada.... znaci, rand () baca neki slucajan broj.... ti taj broj prvo svedes na interval [0, a-b] (zato jer zelis interval velik razlici brojeva)...a onda na kraju taj interval translatiras za a i time dobijes [0+a, b-a+a] sta je [a, b]..... najjednostavniji nacin da dobijes broj od 0 do nekog N-a je da ga modas (operator %, ostatak djeljenja) sa N+1... zato je tamo b-a+1....

sada mozes tu funkciju koristiti kao:

int main (void) {
     srand (time(NULL));
     int N;

     scanf ("%d", &N);
     //ili mozes koristiti: cin >> N;

     for (int i = 0; i < N; i++)
          printf ("%5d", random (a, N));
          // a mozes koristiti i: cout << random (a, N) << endl;
     return 0;
}



Znaci to sada genera N random brojeva
Nadam se da ti ovo daje neki uvod u operacije sa modom i random brojevima...

Poruka je uređivana zadnji put pet 24.10.2008 18:56 (Jazzfan).
 
0 0 hvala 0
16 godina
neaktivan
offline
Random u c++

nije mi se dalo sve čitati, ali primjetio sam dvije stvari:

 

"najveci integer, tj. negdje oko 4e9 (ako se ne varam)"

 

Ovo ovisi o broju bitova koji se rezerviraju za pohranu integera, dakle ovisi iskključivo o implementaciji (danas najčešće 4 bajta = 32 bita - bit za predznak = +/- 2e31; ili za unsigned vrijednosti 2e32)

 

"inline int random (const &a, const &b) { return (rand() % (b-a+1)) + a; }"

 

Fali tip podataka argumenata funkcije. No, da ih je i bilo (možda sam previdio neki ključni dio), koji je uopće smisao slanja argumenata po referenci? Koliko vidim to ni na koji način ne utjeće na sam kod, pa se dio u zagradama može zamijeniti sa (int a, int b)

 

 

 

 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Random u c++

Po mom mišljenju ,printf i scanf spadaju u stil c pisanja koda i automatski i pisanje funkcija povlači za sobom
reference jer ih u c-u ima podosta(mislim na stil)...ne na funkcionalnost ili upotrebu. Ali,mislim da smo rand() dobro objasnili kolegi.

Poruka je uređivana zadnji put sri 22.10.2008 20:55 (v_maxcpp).
16 godina
neaktivan
offline
RE: Random u c++
v_maxcpp kaže...

Po mom mišljenju ,printf i scanf spadaju u stil c pisanja koda i automatski i pisanje funkcija povlači za sobom

Eh sad, prema ovome ispada da OOP nema funkcija :)

Ustvari nisam te razumio, o ćemu ti pričaš? :D Ako program koristi printf/scanf da mora imati funkcije?


16 godina
neaktivan
offline
RE: Random u c++

No,to nisam niti zaključio niti sam mislio ali po meni to spada u old style.
cout i cin se lakše koriste a i formatiranje se lakše može i kad želimo i kako želimo napraviti.
cout je objekt toka.
Funkcije printf i scanf su uglavnom vezane s određenom skupinom formata.
I sad dolazi problem,pojavi se novi tip podataka i one ne mogu s njim raditi!
A objekti tipa cin i cout mogu!!!
cin i cout objekti tokova rade sa svim formatima a printf i scanf ne.
Po meni cout i cin i operatori njima pridruženi imaju puno veću korisnost u OOP nego printf i scanf.
Moje mišljenje.I ne govorim o funkcijama da ih nema ili ne ,nisi me razumio o čemu sam htio govoriti.
Nadam se da je sad jasnije na što sam mislio.U biti jednostavno ne volim printf i scanf.

Poruka je uređivana zadnji put sri 22.10.2008 21:32 (v_maxcpp).
16 godina
neaktivan
offline
Random u c++

I dalje ne razumijem tvoj post :DD

 

Ma zaboravi :)

 
0 0 hvala 0
15 godina
protjeran
offline
RE: Random u c++
itf4n kaže...

nije mi se dalo sve čitati, ali primjetio sam dvije stvari:

 

"najveci integer, tj. negdje oko 4e9 (ako se ne varam)"

 

Ovo ovisi o broju bitova koji se rezerviraju za pohranu integera, dakle ovisi iskključivo o implementaciji (danas najčešće 4 bajta = 32 bita - bit za predznak = +/- 2e31; ili za unsigned vrijednosti 2e32)

 

"inline int random (const &a, const &b) { return (rand() % (b-a+1)) + a; }"

 

Fali tip podataka argumenata funkcije. No, da ih je i bilo (možda sam previdio neki ključni dio), koji je uopće smisao slanja argumenata po referenci? Koliko vidim to ni na koji način ne utjeće na sam kod, pa se dio u zagradama može zamijeniti sa (int a, int b)

 
Najveći integer bi bio long long... (8 bajtova). Također, ako pri navođenju parametara nije navedena specifikacija tipa onda se podrazumijeva da je tipa int. Tako bi

inline int random (const &a, const &b)

 

zapravo bilo

 

inline int random (const int &a, const int &b)

 

Tako isto možeš napisati i sljedeću funkciju:

f(){
    return 6;
}

Iako nije naveden povratni tip on se podrazumijeva kao int. Slanjem argumenata po referenci se ubrzava poziv funkcije jer se ne alocira dodatna memorija za argumente funkcije niti se obavljaju kopiranja vrijednosti.

v_maxcpp kaže...

Po mom mišljenju ,printf i scanf spadaju u stil c pisanja koda i automatski i pisanje funkcija povlači za sobom
reference jer ih u c-u ima podosta(mislim na stil)...ne na funkcionalnost ili upotrebu. Ali,mislim da smo rand() dobro objasnili kolegi.

 
Samo za one koji neznaju sve je automatski. Prije svega, reference u C-u ne postoje, već postoji samo adresni operator &. Dok, C++ koristi reference radi bržeg poziva funkcija i uštede memorije na njenim argumentima, radi ulančavanja operatora itd. Za to postoje konkretni i jasni razlozi, a ne nikakav automatizam. Štoviše, reference se i ne koristi u svim slučajevima i treba jako paziti pogotovo ako je reference povratna vrijednost funkcije.

v_maxcpp kaže...

No,to nisam niti zaključio niti sam mislio ali po meni to spada u old style.
cout i cin se lakše koriste a i formatiranje se lakše može i kad želimo i kako želimo napraviti.
cout je objekt toka.
Funkcije printf i scanf su uglavnom vezane s određenom skupinom formata.
I sad dolazi problem,pojavi se novi tip podataka i one ne mogu s njim raditi!
A objekti tipa cin i cout mogu!!!

cin i cout objekti tokova rade sa svim formatima a printf i scanf ne.

Po meni cout i cin i operatori njima pridruženi imaju puno veću korisnost u OOP nego printf i scanf.
Moje mišljenje.I ne govorim o funkcijama da ih nema ili ne ,nisi me razumio o čemu sam htio govoriti.
Nadam se da je sad jasnije na što sam mislio.U biti jednostavno ne volim printf i scanf.

 
Joooj... i onda takvi idu pisati tutorijale...

1) cout i cin NE RADE sa svim formatima. zbog toga se i koriste preopterećenja operatora << i >> kako bi se omogućilo i drugim tipovima podataka I/O operacije preko (io)stream tokova. Stoga, oni rade samo sa unaprijed definiranim tipovima, dok se za sve ostale MORA RADITI PREOPTEREĆENJE operatorskih funkcija << i >>.

2) printf i scanf MOGU TAKOĐER raditi sa ostalim tipovima podataka. No pošto to nisu klase kod njih se vrši preopterećenje funkcije ili po potrebi piše nova funkcija koja u kombinaciji s listama parametara može ispisati bilo što. Npr.:

#include <stdio.h>
#include <stdarg.h>

class Kompleksni
{
    public:
        double re, im;
        Kompleksni(){}
        Kompleksni(double x, double y) : re(x), im(y){}
};

void ispis(char* format, ...)
{
    int i;
    Kompleksni x;

    va_list lista;
    va_start(lista, format);

    for(i = 0; format[i]!='\0'; i++)
    {
        if(format[i] == '%')
            switch(format[i+1])
            {
                case 'k' : {
                    x = va_arg(lista, Kompleksni);
                    printf("%f + %f", x.re, x.im);
                    i++;
                    break;
                }
        }
        else
        printf("%s", format[i]);
    }
    va_end(lista);
}

int main()
{
    Kompleksni Z(1, 3);

    ispis("%k", Z); // %k - novi format za kompleksni broj
    return 0;
}

Evo, ovdje imaš funkciju za ispis u kojoj je definiran korisnički format (%k) i on služi za ispis kompleksnog broja. I sad svatko po volji može dodati što god želi: Nove tipove podataka i nove formate po izboru. Sve je moguće. Samo treba znati. U C-u su pisani operacijski sustavi, a kamoli da se ne bi mogao ispisati novi tip podatka, i zato nemoj širiti dezinformacije ukoliko već nisi dovoljno upoznat s programiranjem u ovim jezicima.

itf4n kaže...

I dalje ne razumijem tvoj post :DD

 

Ma zaboravi :)

 Neki pjesnici su samo sebi jasni...
Poruka je uređivana zadnji put čet 23.10.2008 16:34 (Tracer).
16 godina
neaktivan
offline
RE: Random u c++
Imam i ja jedno pitanje o C++
jer je malo pa ne vrjedi otvarat novu temu za to.

Zašto neki ljudi pišu
#include(iostream.h)
umjesto
#include (iostream)
Viva La Vida
15 godina
protjeran
offline
RE: Random u c++
unknown kaže...
Imam i ja jedno pitanje o C++
jer je malo pa ne vrjedi otvarat novu temu za to.

Zašto neki ljudi pišu
#include(iostream.h)
umjesto
#include (iostream)
 iostream.h je biblioteka zagljavlja u kojoj se nalaze definicije klasa i funkcija potrebnih za I/O operacije s tekstom. Međutim, kako se u C++u uvelo korištenje imenika (namespace) onda je često praksa u zadnje vrijeme da se napiše samo ime biblioteke, a da se po imeniku (namespace-u) određuje set klasa i funkcija s kojima se radi. Stoga, ili

#include <iostream.h>

ili

#include <iostream>
using namespace std; // koji imenik koristiš (a ovaj "std" sadrži tokove cin i cout)

16 godina
neaktivan
offline
RE: Random u c++
Hvala skužio sam.
Viva La Vida
16 godina
neaktivan
offline
Random u c++

Tracer koliko znam C++, za razliku od C-a, ne dopušta "pretpostavljanje" tipova. A za reference - šalju se integeri, imalo bi smisla slati po referenci da je to neki veliki podatak (struktura), ali 4bytea ne mijenjaju puno toga pa je ovo više nepotrebno kompliciranje nego dobitak na efikasnosti.

Poruka je uređivana zadnji put čet 23.10.2008 20:22 (itf4n).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Random u c++

 

@Tracer.

...lijepo napisano i naravno samo sam čekao kad češ se  pojaviti ,ali više mi to nije niti važno a niti sam
htio objašnjavati preopterećenje operatora i detaljno objašnjenje što se koristi u c++ a što u c-u i što je bolje ili nije.
Neka svatko piše kako hoće i što hoće,a što se tiče tuta,pa napiši svoj ili preuredi ovaj na Bug forumu kako hočeš jer
vidim da se smatarš jedinim relevantnim za c i c++ ,a ja lijepo govorim u postovima da je to moje mišljenje ne dirajući se u
druga s visoka .Nisam niti ću ikada biti bahat i druge omalovažavati ,a koliko vidim jedino se slažeš s onima koji
te hvale ili pitaju za savjet i naravno svi griješe osim tebe .Lijepi pozdrav s ove teme pa piši.

Poruka je uređivana zadnji put čet 23.10.2008 21:06 (v_maxcpp).
16 godina
neaktivan
offline
Random u c++
khm khm
Poruka je uređivana zadnji put čet 10.11.2011 22:25 (itf4n).
 
0 0 hvala 0
15 godina
protjeran
offline
RE: Random u c++
itf4n kaže...

racer koliko znam C++, za razliku od C-a, ne dopušta "pretpostavljanje" tipova. A za reference - šalju se integeri, imalo bi smisla slati po referenci da je to neki veliki podatak (struktura), ali 4bytea ne mijenjaju puno toga pa je ovo više nepotrebno kompliciranje nego dobitak na efikasnosti.

Koliko znam dopušta se ako je riječ o konstantama i povratnim vrijednostima funkcija... Tada je pretpostavljeni tip int. Ili možda je stvar baš compiler-specific Osmijeh? Daj primjer pa da vidim na što misliš.

I nije stvar samo u uštedi memorije već u brzini poziva. Bez referenci bi se vrijednosti morale kopirati u nove varijable (argumente) pa je i tu ušteda vremena. Osobno i ne koristim baš reference, ali mogu poslužiti ukoliko brdo parametara predaješ funkcijama koje pozivaš npr. u petljama. Ali može se i bez njih.

v_maxcpp kaže...

 

@Tracer.

...lijepo napisano i naravno samo sam čekao kad češ se  pojaviti ,ali više mi to nije niti važno a niti sam
htio objašnjavati preopterećenje operatora i detaljno objašnjenje što se koristi u c++ a što u c-u i što je bolje ili nije.
Neka svatko piše kako hoće i što hoće,a što se tiče tuta,pa napiši svoj ili preuredi ovaj na Bug forumu kako hočeš jer
vidim da se smatarš jedinim relevantnim za c i c++ ,a ja lijepo govorim u postovima da je to moje mišljenje ne dirajući se u
druga s visoka .Nisam niti ću ikada biti bahat i druge omalovažavati ,a koliko vidim jedino se slažeš s onima koji
te hvale ili pitaju za savjet i naravno svi griješe osim tebe .Lijepi pozdrav s ove teme pa piši.

Već sam ti rekao da to ne ide tako i da NEĆEŠ MOĆI PISATI KAKO HOĆEŠ i ŠTO HOĆEŠ, jer dok god sam ja ovdje ja ću te non-stop ispravljati ukoliko pišeš bljezgarije i KRIVO UČIŠ ljude. I ti nisi izrekao svoje mišljenje već konkretne tvrdnje za koje sam dokazao da su netočne, a ti po tko zna koji put vlastito neznanje pokušavaš opravdati s "mislio sam" ili "pišem drukčije".

I naravno da griješim. Svaki dan. Ali da nisam odlučio učiti iz svojih grešaka nikada ne bi ništa znao. Probaj i ti. Nije teško.
16 godina
neaktivan
offline
Random u c++

Ne, mislim da je baš tako po standardu.. evo sad sam probao, mingw ne prevodi ovaj primjer gore za random brojeve. Ali bolje je tako, uvijek znaš o kojem se tipu radi..

 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Random u c++
itf4n kaže...

nije mi se dalo sve čitati, ali primjetio sam dvije stvari:

 

"najveci integer, tj. negdje oko 4e9 (ako se ne varam)"

 

Ovo ovisi o broju bitova koji se rezerviraju za pohranu integera, dakle ovisi iskključivo o implementaciji (danas najčešće 4 bajta = 32 bita - bit za predznak = +/- 2e31; ili za unsigned vrijednosti 2e32)

 

"inline int random (const &a, const &b) { return (rand() % (b-a+1)) + a; }"

 

Fali tip podataka argumenata funkcije. No, da ih je i bilo (možda sam previdio neki ključni dio), koji je uopće smisao slanja argumenata po referenci? Koliko vidim to ni na koji način ne utjeće na sam kod, pa se dio u zagradama može zamijeniti sa (int a, int b)

 

 

 

 

da, zaboravih tip podataka napisat...
ali u skoro svim kompajlerima (za C++, ne C) sa kojima sam radio, int = long int = 2^31 ~ 2e9, ali imas pravo da ovisi o kompajleru 

 

imam naviku ono sta se nece mjenjat navesti kao const, i prenositi argumente po referenci kada je god moguce jer je brze (ovisi o tipu podataka, jer se vrjednosti kopiraju kada se ne predose po referecni), i trosi manje stack-a (ali to je bitno samo kod rekruzivnih poziva).... ali za ovakav banalan prijmer uopce nije bilo potrebno, slazem se....

hvala na ispravcima...

Poruka je uređivana zadnji put pet 24.10.2008 18:54 (Jazzfan).
16 godina
neaktivan
offline
RE: Random u c++
v_maxcpp kaže...

Po mom mišljenju ,printf i scanf spadaju u stil c pisanja koda i automatski i pisanje funkcija povlači za sobom
reference jer ih u c-u ima podosta(mislim na stil)...ne na funkcionalnost ili upotrebu. Ali,mislim da smo rand() dobro objasnili kolegi.

 molim??? Dali je to odgovor na moj post? ako je, pls, ga malo bolje objasni..... kakve reference? Kao prvo, u C-u ih nema.....  A vec sam objasnio zasto ih koristim u gornjem postu....
Poruka je uređivana zadnji put pet 24.10.2008 19:01 (Jazzfan).
16 godina
neaktivan
offline
RE: Random u c++
v_maxcpp kaže...

No,to nisam niti zaključio niti sam mislio ali po meni to spada u old style.
cout i cin se lakše koriste a i formatiranje se lakše može i kad želimo i kako želimo napraviti.
cout je objekt toka.
Funkcije printf i scanf su uglavnom vezane s određenom skupinom formata.
I sad dolazi problem,pojavi se novi tip podataka i one ne mogu s njim raditi!
A objekti tipa cin i cout mogu!!!
cin i cout objekti tokova rade sa svim formatima a printf i scanf ne.
Po meni cout i cin i operatori njima pridruženi imaju puno veću korisnost u OOP nego printf i scanf.
Moje mišljenje.I ne govorim o funkcijama da ih nema ili ne ,nisi me razumio o čemu sam htio govoriti.
Nadam se da je sad jasnije na što sam mislio.U biti jednostavno ne volim printf i scanf.

 
Ja samo znam da su printf i scanf brzi od cin-a i cout-a, pa ih zato i koristim...
Uostalom, sta ti je jednostavnije napisat (ili barem, sta je brze za napisat i barem 100 puta preglednije):

cout << "Osoba " << x[i].ime  << " [" << i << "]" << " je visoka " << x[i].visina << " centimetara. " << endl;
ili:

printf ("Osoba %s [%d] je visoka %f centimetara. \n", x[i].ime, i, x[i].visina);

sta se tice operatora za ispis.... sta fali void funkciji?
ili mozes napravit konstruktor kopije za string (ako ti ne treba... a ako ti treba, samo koristi neku funkcijski clan)...

char * something::print (const int &i) {
    char *x = new char[500];
    sprintf (x, "Osoba %s [%d] je visoka %f centimetara. \n", x[i].ime, i, x[i].visina);
    return x;
}

i onda mozes printf ("Bla bla bla %s %s\n", x.print (i), x.print(i+2%3/6));
Poruka je uređivana zadnji put sub 25.10.2008 23:27 (Jazzfan).
16 godina
neaktivan
offline
RE: Random u c++

...mah ...vidim da me nije nitko razumio i na nikoga se ne odnosi ,htjedoh nakon svega reći da ja preferiram cin,cout.....
a printf i scanf ne volim previše ....u tome je stvar ...a ne sad u objašnjenja tko kako piše ,neka svatko piše kako želi.
Bez njih mogu i ne trebaju mi.Uopće mi je žao što spomenuh bilo što o tim funkcijama i načinima ispisa jer se to samo pretvori
u raspravu koja nigdje ne vodi.A naslov posta je random().Stoga se ispričavam autoru na of topicu.

Nova poruka
E-mail:
Lozinka:
 
vrh stranice