kapu48 írta:Sajnos még mindig keveset tudok ahhoz, hogy megértsem, de megpróbálom.
Erről szól minden tanulás

Egyébként pedig gratulálok, egészen közel jársz a megfejtéshez
kapu48 írta:
„honaphossz =” a végén ebben kapjuk az eredményt.
IGEN
macsek írta:csttom írta:macsek , a hónapok napjainak számítása ( a tömör változat) több helyen nem jó.
Ezt írtad:
Kód: Egész kijelölése
honaphossz = (ho==2) ? (! (ev%4) && (ev%400) ? 29 : 28) : (ho+(ho>7)%2) ? 31 : 30 ;
Helyesen pedig ez:
Kód: Egész kijelölése
honaphossz = (ho==2) ? ((!(ev%4) && (ev%100))||!(ev%400) ? 29 : 28) : ((ho+(ho>7))%2) ? 31 : 30;
Elemezzük inkább a csttom által javított sort, mert felépítését tekintve azonos, ugyanakkor az ad jó eredményt.
kapu48 írta:
„(ho==2)” az első feltétel „?” if
IGEN
kapu48 írta:
„(! (ev%4) && (ev%400) ? 29 : 28 )” Igaz ág = 31
IGEN
kapu48 írta:
: „(ho+(ho>7)%2) ?” Hamis ág = 30
Eddig jó?
IGEN, tökéletes!
kapu48 írta:
Most a belső függvények:
„(ev%400)” feltétel „?” if Igaz ág = 29, : Hamis ág = 28
az igaz és a hamis ág jó, a feltétel nem az, hanem:
illetve a jó kóddal:
kapu48 írta:
Á feladom! Maradok a hagyományos módszernél.
Azt is bőven ellátva magyarázatokkal, hogy pár év múlva is könnyen visszafejtsem.

Egyrészt nyugodtan maradj a "hagyományos módszer"-nél, a fordító feltehetőleg kb. ugyanazt a kódot fogja fordítani belőlük. Ha ennek az átláthatóságával baj van az mehet a program minőségének a rovására, lásd én is elszúrtam a zárójel kifelejtésével. Pedig hidd el, értem.
Ez olyan helyekre való, ahol tömören akarod leírni a kódot. És igazából ennél egyszerűbb kifejezésekhez szokták használni.
Viszont mostmár ezt is megtanultad és érteni fogod, ha vhol ilyet látsz. Sőt, az is lehet, h egy-két helyre te is írsz majd átlátható ilyet.