- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- vrob: Az IBM PC és a játékok a 80-as években
- bambano: Bambanő háza tája
- Tomasz72: Ventilátor upgrade
- Magga: PLEX: multimédia az egész lakásban
- Parci: Milyen mosógépet vegyek?
- eBay-es kütyük kis pénzért
- Mr. Y: Motoros sztorik #06
-
LOGOUT
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
A többiek javaslatán kívül még annyi, hogy ezt egy függvénybe kellene raknod, ami karaktersorozatot vár, és boolean értékkel tér vissza (true/false attól függően, hogy palindromról van-e szó), valamint tök felesleges végigfuttatnod a teljes ciklust, ha egyszer már a vége előtt kiderült, hogy tényleg nem palindrom az adott szó, nyugodtan visszatérhetsz egyből false-szal. A string hosszúságát pedig eltárolhatnád egy változóban a for ciklus előtt a sok felesleges szoveg.length() függvényhívás overheadjének elkerülése érdekében (kérdés, hogyan optimalizálja egyébként a fordító, a for ciklus "fejlécében" lévő összehasonlítást tudtommal optimalizálja, a ciklusmagban lévőt nem, tehát ott lesz overhead, még ha ez így "kicsiben" nem is érzékelhető, érdemes ráállni arra, hogy elkerülöd a felesleges függvényhívásokat, amik csak hozzátesznek a futási időhöz, még ha adott esetben nagyon keveset is).
=========
(#6846) Jester01 :
"Aki magyar kiosztással akar programozni az meg is érdemli"
jaj ne má'Az IDE hotkey-jeinek átállítása nem hiszem, hogy túl nagy problémát kéne, hogy okozzon. Szerintem magyar kiosztással is nagyon jól lehet programozni.
-
sztanozs
veterán
-
bucsupeti
senior tag
a lényegi részben a teendő
- for ciklust indítasz 0-tól a sztring hosszának feléig (str.length()/2)
- a cilusmagban a string aktuális pozíciójában (ciklusváltozó) lévő karaktert hasonlítod a sztring hossz mínusz a ciklusváltozó mínusz 1 pozíción lévővel. Pl az "alma" sztring esetében ha 0 a ciklusváltozó akkor a 0. és a 4-0-1=3 pozíción lévővel hasonlítod (az első a és az utolsó a lesz hasonlítva). Ha igaz akkor továbblépsz, ha eltér akkor exit és megjegyzed valahogy (pl bool változó) hogy eltérés van.
- a végén az aktuális állapot szerint kiírod a megfelelő szöveget. -
Jim-Y
veterán
Karma írta:
Célszerű indirekt vizsgálnod. >> feltételezed hogy palindroma, tehát kezdetben egy bool változó igaz.
Feltételezed, hogy palindrom, és megpróbálod cáfolni azzal, hogy páronként összehasonlítod a betűit >> úgy hasonlítod össze, hogy egy ciklussal elkezdesz a stringben az elejétől a vége felé haladni, és mindig az aktuális indexű betűt hasonlítod össze a hátulról vett párjával
- az elsőt az utolsóval, a másodikat az utolsó előttivel stb., >> lásd feljebb
és ha nem egyeznek meg, akkor nem lehet palindrom. >> ha a feltételvizsgálatban egyszer is igaz ágba megy a program, vagyis egyszer lesz eltérés a betű párok között, akkor a bool változót hamisra állítod, vagyis bebizonyítottad, hogy nem palindróma.Illetve getline függvény helyett használhatod simán a cin >> szoveg; -et is.
-
Jim-Y
veterán
A konkrét kódot senki sem fogja megosztani veled, ugyanis abból nem tanulsz :/
Próbáld meg megcsinálni, és ha valami nem megy, akkor linkeld be a kódód (pl pastebin), és segítünk. Amúgy amit Karma írt az egy tökéletes megoldás, gyorsan én is letöltöttem a codeblockot és kipróbáltam, szinte 1-1 az egyben ha begépeled amit írt, akkor megvan a megoldás. Nekem sallangokkal együtt 10 sor lett. sallangok nélkül kb 4-5-ből megvan.Annyival kiegészíteném viszont Karmát, hogy jól jöhet még neked a floor függvény is, ugyanis (még ha ennél a példánál nincs is nagy jelentősége) nem kell string végéig menned a for ciklussal, elég string.length / 2 alsó egészrészig. üdv
megj: legújabb codeblocks gcc-vel, 'AltGr + B' -re, ami a nyitó kapcsos be van állítva egy hotkey, így nem tudtam benne nyitó kapcsost csinálni, mondom full friss a telepítés, ez azért gáz...
-
Karma
félisten
A felsoroltakból szükséged van a stringre, a lengthre és egy for ciklusra.
Célszerű indirekt vizsgálnod. Feltételezed, hogy palindrom, és megpróbálod cáfolni azzal, hogy páronként összehasonlítod a betűit - az elsőt az utolsóval, a másodikat az utolsó előttivel stb., és ha nem egyeznek meg, akkor nem lehet palindrom.
Ha minden betűpárt megnéztél és nem találtál eltérést, akkor meg palindrom.
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Milyen autót vegyek?
- Házimozi belépő szinten
- Kerékpárosok, bringások ide!
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Autós topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Milyen egeret válasszak?
- Szeged és környéke adok-veszek-beszélgetek
- Formula-1
- További aktív témák...
- ÚJ BONTATLAN iPad Air 6 13 méretben iPad Air 13 512GB Wi-Fi+Cellular Azonnal Átvehető DEÁK Térnél.
- MSI Thin A15 B7VF 15.6" FHD IPS Ryzen 7 7735HS RTX 4060 16GB 512GB NVMe magyar vbill gar
- TUF A17 FA706IU 17.3" FHD IPS Ryzen 7 4800H GTX 1660 Ti 16GB 512GB NVMe gar
- Lenovo Thinkpad X13 Gen4 - AMD R5 7450U/32GB/1TB
- ELADÓ - LENOVO LEGION SLIM 7i 16IAHV - 40GB RAM, 1.5 TB SSD
- Samsung Galaxy Xcover 6 Pro, 6/128 GB, Kártyafüggetlen
- AKCIÓ! Gigabyte B760M i5 14600KF 32GB DDR4 512GB SSD RX 6800XT 16GB Rampage SHIVA CM 750W
- Bomba ár! Lenovo ThinkPad X270 - i5-6G I 8GB I 256GB SSD I 12,5" FHD I HDMI I Cam I W10 I Garancia!
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 GAMER PC termékbeszámítással
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest