Citat:
mls: Ono podvuceno... daj razmisli vec jednom malo.
Pravila igre nisu zakon.
Svaka igra na sreću postaje neregularna ili prestaje da bude igra na sreću kada se krše pravila. Primer ruleta - recimo da ti sam sebi omogućiš premeštanje uloga nakon što se kuglica zaustavi na nekom broju. I kada se kuglica zaustavi, ti premestiš svoj ulog na broj na kome se kuglica zaustavila. To je 100% pouzdana pobednička strategija, i rulet sa takvim pravilom ne bi bio igra na sreću. Međutim, pravila ruleta ne dozvoljavaju premeštanje uloga, i on jeste igra na sreću. Igra na sreću ne može prestati da bude igra na sreću zato što neko igra protivno njenim pravilima.
Pravila igre nisu zakon, ali pravila igre određuju da li imaš pravo da uzmeš nagradu ili ne. Bećirić je uzeo nagrade na koje nije imao pravo, jer su osvojene mimo pravila igre. On nije u zatvoru zato što je kršio pravila igre, nego zbog onoga što je nastalo kao posledica kršenja pravila igre - prevarna radnja, sticanje protivpravne imovinske koristi i organizovanja grupe koja je sve to sprovodila.
Citat:
vilil1: A zasto "najniza" ne znaci upravo to - Najniza? Zasto komplikovati i baviti se pretpostavkama kada lepo pise. Najniza! U nasem slucaju to je 1din.
Bila je priča o tome. Zato što u tom slučaju treća poruka nema smisla i neće nikada biti poslata, jer će uvek biti poslata prva. Ako bi neko poslao nejedinstvenu ponudu, a ti u implementaciji programa sa if else prvo ispituješ uslove za prvu poruku, onda bi uvek bila poslata prva poruka, a nikada treća. Ako bi prvo ispitivao uslove za treću, uvek bi bila poslata treća, a nikada prva. Poenta - jedna poruka gubi smisao i nikada neće biti poslata ako "nije najniža" znači "različita od najniže jedinstvene".
MinSingle - Najniži jedinstveni
IznosPonude - iznos ponude koja se obrađuje
BrojPonuda - broj puta koji je do sada poslata ponuda koja se obrađuje
((BrojPonuda > 1) && (IznosPonude != MinSingle))
Drugi deo uslova je uvek tačan, jer čim nije jedinstvena, ne može biti ista kao MinSingle, pa je ovaj uslov ekvivalentan sa
((BrojPonuda > 1) && True)
A ovaj uslov je ekvivalentan sa
(BrojPonuda > 1)
što je uslov za treću poruku.
Kad sve staviš u kod:
Code:
if ((BrojPonuda > 1) && (IznosPonude != MinSingle)) {
} else
if ((BrojPonuda == 1) && (IznosPonude != MinSingle)) {
} else
if (BrojPonuda > 1) {
/* Ovo se nikada ne izvršava */
} else {
/* jedinstvena i najniža */
}
ili, ako zameniš mesta prvom i trećem pravilu
Code:
if (BrojPonuda > 1) {
} else
if ((BrojPonuda == 1) && (IznosPonude != MinSingle)) {
} else
if ((BrojPonuda > 1) && (IznosPonude != MinSingle)) {
/* Ovo se nikada ne izvršava */
} else {
/* jedinstvena i najniža */
}
U drugom slučaju, kada "nije najniža" znači "postoji niža jedinstvena", nema problema sa ekvivalentnošću uslova i izvršavanjem blokova
Code:
if ((BrojPonuda > 1) && (IznosPonude > MinSingle)) {
} else
if ((BrojPonuda == 1) && (IznosPonude < MinSingle)) {
} else
if (BrojPonuda > 1) {
/* Ovo znači da je IznosPonude < MinSingle, jer je suprotan slučaj pokriven prvim uslovom,
a IznosPonude == MinSingle nije moguće ako je BrojPonuda > 1 */
} else {
/* jedinstvena i najniža */
}
Citat:
miki069:Ne razumem koja je to poruka "nije najniža"? Sistem takvu poruku nije vraćao!
"nije najniža" se odnosi na druge delove iz prve i druge poruke, tj pitanje je da li prva poruka znači "nije jedinstvena i različita je od jedinstvene" ili "nije jedinstvena i postoji niža". Slično i za drugu poruku. Nisam rekao da je to bila posebna poruka.