if(x,y,z>0 && a,b,c>0){
"bardzo oryginalne"
Gdzies to widziałeś, czy własny pomysł ?
Normalny błąd robiony bardzo często przez początkujących programistów. a,b>0
to przecież "naturalny" matematyczny zapis, którego uczyli się przez lata w szkole podstawowej i liceum/gimnazjum.
@jerruing:
Przecinek jest w C/C++ operatorem (czyli znakiem takim jak + czy -), ale o dość mało intuicyjnych właściwościach.
Po pierwsze - to jest operator o najniższym możliwym priorytecie.
Twoje wyrażenie typu
a,b>0
jest równoważne
a,(b>0)
Teraz w zależności od wartości zmiennej b - dostaniesz
a,true
lub
a,false
Wyrażenie o postaci x,y
ma wartość y
, niezaleznie od wartości x
Czyli warunek
if (a,b>0) ...
jest równoważny
if (b>0)
"Poprawnie" powinieneś to zapisać jako (w cudzysłowach, bo to nie będzie dobre rozwiązanie tego zadania).
if (a>0 and b>0 and c>0 and x>0 and y>0 and z>0)