- Android alkalmazások - szoftver kibeszélő topik
- Milyen okostelefont vegyek?
- Nem fogy a Galaxy S25 Edge?
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S24+ - a személyi asszisztens
- Google Pixel topik
- A Galaxy Z Fold7, minden színben és oldalról
- Samsung Galaxy A54 - türelemjáték
- Google Pixel 8 Pro - mestersége(s) az intelligencia
-
Mobilarena
Ú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!
- Android alkalmazások - szoftver kibeszélő topik
- Filmvilág
- Kivégzi a Firewire-t az új macOS verzió?
- Milyen videókártyát?
- Debrecen és környéke adok-veszek-beszélgetek
- Milyen billentyűzetet vegyek?
- EAFC 25
- Milyen okostelefont vegyek?
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Metal topik
- További aktív témák...
- Új MSI KATANA 17 Gamer Tervező Laptop 17,3" -35% i7-13620H 10Mag 16/1TB RTX 4060 8GB FHD 144Hz
- Apple Iphone 13 128gb csillagfény színű OLCSÓN . Csere/beszámítás
- OnePlus Pad 2 + OnePlus Pad 2 billentyűzet + Extrák
- AKCIÓ!!! GAMER PC: Új i5-14400F +RTX 4060/5060/4070/5070 +Új 16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ!
- HP EliteBook 855 G8, 15,6" FHD, Ryzen5 PRO 5650U CPU, 16GB DDR4, 256GB SSD, WIN 11, ( olvasd végig )
- DELL PowerEdge R640 rack szerver - 2xGold 6138 (20c/40t, 2.0/3.7GHz), 64GB RAM,4x1G, H730 1GB, áfás
- Iphone 16E 128GB Fekete Bontatlan 24 Hónap Garancia
- Már csak 12 db 5G ROUTER! - Telenor 5G Indoor WiFi Router (FA7550) + töltő (bolti áruk 100.000Ft)
- 125 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 9 7945HX, RTX 4070 (ELKELT)
- 119 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!) (ELKELT)
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest