Hirdetés
- Örömkönnyek és üres kezek a TriFold startjánál
- Milyen robotporszívót vegyek karácsonyra? (2025)
- Töltő már van a Galaxy S26 Ultrához
- Milyen okostelefont vegyek?
- Bekerül az Apple Pay és Google Pay a Budapest GO alkalmazásba
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Vivo X300 - kicsiben jobban megéri
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- iPhone topik
-
Mobilarena

Új hozzászólás Aktív témák
-
vz12
tag
válasz
janos1988
#14178
üzenetére
A "+1", "-1' nem fétis, hanem fontos eleme a működésnek, nevezhetjük trükknek, de igazából ez szükségszerű. Ha belegondolsz és megérted a miértjét, szerintem el fogod ezt ismerni.
A programom ugye alapvetően nem karakterenként, hanem szavanként szeleteli le az input szöveget, pontosabban szóköztől szóközig. Minden lépésben megkeresi a következő szóközt, viszont a megtalált szónak ez a szóköz már nem része, ezért van a "-1". A "szeletelésnél" (delete) viszont nem csak tisztán a szót, hanem a megtalált szóközt is le kell szedni a szöveg elejéről, ezért van a "+1".
Ezt nem úgy kell nézni, hogy 1-1 = 0 és ennyi, nem. A folyamat (ciklusmag) végén 1-1 = 0, ez rendben van, de ez nem azt jelenti, hogy működés közben a "mikrokörnyezetben" ez végig így van.
Csak a végén.
Közel kell menni a részletekhez hogy megértsük a dolgokat, a működést nem (mindig) lehet "távolról" nézni, vagy átlagolni, ahol már összemosódnak a részletek. Pl. ha fociban egy játékos egy meccsen rúgott 2 db gólt tizenegyesből, az ugyanaz, mint ha az egyiket a kapu mellé rúgta balról 1 méterrel, a másikat a kapu mellé rúgta jobbról 1 méterrel, vagyis átlagban 2 gólt rúgott a kapu közepébe ... (?)
A "tmp" változó a függvényemben a jelen esetben nem szükségszerű, mert az eredeti input szövegre menet közben nincs szükség, de más esetben előfordulhatna hogy szükség van rá, ezért én szeretem így csinálni. De itt, most ez valóban tűnhet feleslegesnek.
A tömböket én mindig nullázom induláskor, régebben ez szükségszerű volt (mert nem lehetett arra számítani, hogy 0-val indulnak), az "újabb" pascal verziókban (TP 7.0-tól kezdve) úgy tudom hogy ez a probléma már nincs meg, ez is csak egy (jó) szokásom. Persze az is lehet hogy nem 0 a tömbelemek kezdeti értéke, akkor mindenképpen inicializálni kell, én ezt inkább rutinszerűvé tettem, ennyi.
A "delete(tmp,1,pos1)" az általam írt szóköz végű inputtal jó (mondjuk rá), de ha nem szóközre végződik (azaz normális esetben) NEM JÓ, úgy kell ahogy én csináltam. Próbáld ki az én programomat olyan input szöveggel, aminek a végén nincsenek szóközök (egy sem). Sőt, a "delete(tmp,1,pos1+1)" sem jó. Meg lehet érteni, hogy miért van ez így, de ezt az olvasóra bízom.

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Robotporszívók
- Elkészült az SMIC 5 nm-es node-ja, de a kínaiaknak haszna nincs rajta
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Call of Duty: Black Ops 7
- Mibe tegyem a megtakarításaimat?
- Fapados Biostar alaplap érkezett
- The Elder Scrolls V: Skyrim
- A Retro Games feltámaszt egy legendát
- World of Tanks - OFF topic
- Router gondok
- További aktív témák...
- MacBook Pro 17" i7 2.6 GHz 8GB RAM 240 GB SSD 8 ciklus az akkuban!
- BESZÁMÍTÁS! ASUS STRIX B360 i5 8400 16GB DDR4 512GB SSD ASUS Strix RX 570 4GB MasterBox Q300L 400W
- Honor X7D / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- Apple iPhone 12 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! HP ProBook 450 G6 - i3-8GEN I 8GB I 128SSD I HDMI I 15,6" FHD I Cam I W10 I Gari!
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest

Csak a végén.



