A köverkezö c/c++ kifejezések közül melynek lesz az értéke 1 akkor és csakis akkor, ha az x és y változókban két egymást követö, páros természetes számot tárolunk?
A. (x-y==2) && (y-x==2) B. (x==2) && (y==4)
C. x-y==2 D. ((x-y==2) || (y-x==2)) && (x%2==0)
Énszerintem a b a megoldás, mert csak abban az esetben teljesül minden feltétel. Csak annyira nem vagyok biztos benne inkább megkérdezem.
A. (x-y==2) && (y-x==2)
B. (x==2) && (y==4)
C. (x-y==2)
D. ((x-y==2) || (y-x==2)) && (x%2==0)
Vagyis melyik lesz igaz. Ez inkább matek, mint programozás.
Az elsőnél x-y negatív, szóval helyből hamis.
A második nem lesz igaz bármely két egymást követö, páros természetes szám esetén.
Harmadik megintcsak negatív lesz. (-2)
A negyedik már ígéretes. Első tag hamis, de a második már igaz lesz, és az ÉS másik tagja is igaz, hiszen páros számokról van szó.
A D lesz a jó
(x-y==2) HAMIS
(y-x==2) IGAZ
közöttük egy feltételes VAGY van, vagyis ha az egyik igaz akkor igaz. Tehát ez eddig IGAZ
x%2==0
vagyis ha az x-et kettővel osztjuk akkor a maradék nulla-e. Mivel páros így természetesen igen. tehát ez is IGAZ.
Közöttük feltételes ÉS ahol ha mind két feltétel IGAZ akkor IGAZ. Vagyis itt IGAZ.
D.:
"(x-y==2) || (y-x==2)", vagyis valamelyik 2-vel nagyobb a másiknál
ÉS
"(x%2==0)" x-et kettővel elosztva 0 maradékot kapunk.
Rövidebb, teljesen egyenértékű megoldás:
((abs(x - y) == 2) && (x % 2 == 0))
Persze ehhez érteni kéne az "akkor és csak akkor" kifejezés jelentését.
A trükkösebbeknek meg a válasz: egyik sem, a kifejezés típusa bool, tehát az értéke true vagy false lehet, az 1 meg int.
"egyik sem, a kifejezés típusa bool, tehát az értéke true vagy false lehet, az 1 meg int."
C-ben nincs bool.
(Gondolom a c/c++ azt akarta jelenteni, hogy c-kompatibilis kódról van szó. (?))
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!