[ Srki_82 @ 24.11.2004. 00:03 ] @
Mislim da je naziv teme sasvim jasan. Znam da mogu da izracunam ostatak deljenja nekog broja sa 2 pa ako je ostatak 0 znaci da je paran, a ako nije onda je neparan, ali me interesuje da li ima neka gotova funkcija za to proveravanje?
[ Mrav @ 24.11.2004. 00:37 ] @
Pa to je to! Niko se još nije latio toga da piše posebnu f-ju za to kad je to toliko prosto,
ali evo ti jedan CopyPaste :)

bool JeliParan(int broj)
{
if(broj%2 = 0)
return true;
else
return false;
}


Nije bilo teško jeli?
[ Mrav @ 24.11.2004. 00:38 ] @
Ispravljam glupost izrečenu u prethodnom postu.

Nije da se nije niko latio pisanja takve funkcije, nego je to toliko prosto da niko to nije stavio u neku gotovu biblioteku koja bi bila svima dostupna.
[ Marko Stankovic @ 24.11.2004. 00:50 ] @
Malo cu da cepidlacim ali ovo tvoje nece da radi :)
ispravno bi bilo:

Code:

bool JeliParan(int broj)
{
if(broj%2 == 0)
return true;
else
return false;
}


ili u stilu c/c++

Code:


bool JeliParan(int broj)
{
return broj%2?false:true;
}

[ Mrav @ 24.11.2004. 02:36 ] @
Greška u kucanju ==

Naravno, ovo drugo je elegantnije
[ blaza @ 24.11.2004. 03:42 ] @
Ovo su najkraca resenja:

Code:

bool JeliParan(int x){
    return !(x%2);
}


Code:

bool JeliParan(int x){
    return !(x&1);
}
[ blaza @ 24.11.2004. 09:53 ] @
Ispravicu sam sebe; postoji jos krace resenje:
Code:

bool JeliParan(int x){
    return ~x&1;
}
[ Srki_82 @ 24.11.2004. 16:47 ] @
Wow

Hvala na kodovima... samo me je interesovalo da li postoji vec gotova funkcija (koristio sam Delphi gde je postojala funkcija Odd koja je TRUE kad je broj neparan). Mislim, bilo bi glupo pisati nesto sto vec postoji, zar ne
[ Dejan Lozanovic @ 24.11.2004. 19:02 ] @
ako vec ovako nestro smestate u funkciju ne bi bilo lose da ubacite i jedan inline tek onako zbog optimizacije ) ako je C++ u pitanju
[ McKracken @ 24.11.2004. 19:21 ] @
Jos krace

Code:

bool Paran(int x){
    return ~x&1;
}


[ slavkot @ 24.11.2004. 19:29 ] @
Kako je to jednostavno, ja sam imao sličan zadatak na ispitu, znači trebalo je ispitati parnost, i šta sam radio, broj (-1) stepenujem brojem kojem trebam ispitati parnost i ako je veći od 0 onda je paran broj, koliki je to kod bio...
[ Milos Stojanovic @ 24.11.2004. 20:20 ] @
ček da se i ja pridružim
Još, još kraće
Code:
#define odd(x)(x%2)


jes' da nije f-ja, al eto ...

@slavkot
LOL!
[ Marko Stankovic @ 24.11.2004. 21:33 ] @
@trooper
to tvoje ispituje neparnost a ne parnost mada dodje mu na isto :) inace makroi nisu preporucljivi u c++ tu se koristi inline i onda se funkcija ugradi neposredno u kod, mnogo zgodnije zbog bocnih efekata a i makroi nemaju mogucnost da provere tipove argumenata.


@McKracken
u odnosu na verziju koju je stavio blaza jedino je ime funkcije krace u tvom kodu :P



[ Milos Stojanovic @ 24.11.2004. 22:15 ] @
ma znam, ali nisam mogao da odolim :) kada vidim da se tolka debata vodi oko ovakve teme... :)
[ Dejan Lozanovic @ 25.11.2004. 18:24 ] @
Citat:
trooper: ček da se i ja pridružim
Još, još kraće
Code:
#define odd(x)(x%2)
:p

jes' da nije f-ja, al eto ... :)

@slavkot
LOL!


bolja je ona varijanta sa bitskim operatorm :) neki procesori nemaju operaciju deljenja a jos manje ostatka pri deljenju. Tako da ako gledas na neku portabilnost koda(van IA32) ja ju ne bi ovako pisao vec sa bitskim operacijama.