-
Fototrend

Ú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. 
-
-
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
● olvasd el a téma összefoglalót!
- LENOVO LEGION 5 15AHP10 (83M0001MHV)
- Apple iPhone 13 Mini 128GB
- Macbook Pro 16" - 2020 gyártás, 6 mag i7, 16/512GB, Radeon 4GB, touchbar - garancia (66)
- Apple Watch Ultra 2 49mm GPS + Cellular - 98%, full dobz - Apple garancia (202)
- Samsung Galaxy Z Flip 5 8/256GB - Makulátlan állapot! - A szállítást állom!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- Apple iPhone 13 Mini 128GB,Újszerű,Adatkabel,12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- HP EliteOne 800 G6 All-in-One i5-10500 16GB 512GB 24" Érintőkijelző!! 1 év garancia
- Kolink SFX 350W tápegység /BONTATLAN/
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

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. 


