Hirdetés
- Izmos kis "2 az 1-ben" MoDT alaplapot villantott a Minisforum
- Az Enermax tényleg nem viccel, ha az új tápjának garanciaidejéről van szó
- Egybegép lesz vagy ház? A Corsair sem tudja eldönteni.
- A Qwertykeys új klaviatúrái szépek, igényesek és sokrétűek
- Összement a mosásban az ASUS új VGA-inak PCI Express 5.0 csatlakozója
- Apple asztali gépek
- Monitor hiba topik
- És akkor a memóriapánik után beköszöntött a HDD-pánik
- TCL LCD és LED TV-k
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Nvidia GPU-k jövője - amit tudni vélünk
- Billentyűzet-választó: mechanikus vs membrános – kinek melyik a jobb?
- Bluetooth hangszórók
- Kiviszi a CES-re csúcskábelének prototípusát a HDMI LA
- Mesébe illő csodakábelt tervezett a GeForce-ok leégése ellen a Segotep?
-
PROHARDVER!

Új hozzászólás Aktív témák
-
vz12
tag
válasz
janos1988
#14151
üzenetére
Az első megoldás (is) majdnem jó, teljesen végigmegy a mondaton, a "pont" is megvan a végén, csak éppen nem írja ki az utolsó szót. A szg. ugye nem a kívánságaink, hanem az utasításaink szerint működik, tehát ha nem írja ki a gép, akkor az azért van, mert nem lett megmondva neki.
Nos, akkor mondjuk meg neki, az első megoldást egészítsd ki a for ciklus után, az "end." előtt a következővel:if (s2<>'') then writeln(s2);
-
kovisoft
őstag
válasz
janos1988
#14151
üzenetére
Alapvetően az a probléma mindkét megoldásoddal, hogy az a feltétel, ahogyan vizsgálod az új szó kezdetét, az nem érvényes a string legvégén. A szöveg közepén amikor a szóköz jön, akkor az aktuális előtt lévő karakter a szó utolsó betűje, amikor viszont a szöveg utolsó karakteréhez értél, akkor ez nem igaz, mert ott az aktuális karakter a szó utolsó betűje.
Az első változatodban figyelmen kívül hagyod azt, hogy a szöveg végén nem lesz szóköz, tehát ott marad a "levegőben" még az utolsó szó, amivel nem csinálsz semmit. Ezt még valahogy le kellene kezelni a ciklus után.
A második változatodban valami ilyesmit csinálsz: a szónak akkor van vége, ha szóköz karakter jön vagy ha a szöveg utolsó karaktere jön. De ez nem igaz, mert így kimarad a legutolsó karakter. Ehelyett valami ilyesmit kell csinálnod: a szónak ez az utolsó karaktere, ha tart még tovább a szöveg és szóköz lesz a következő, vagy ha ez a szöveg utolsó karaktere. Az nem korrekt megoldás, hogy túlfuttatod a ciklust, legfeljebb akkor, ha gondoskodsz róla, hogy a túlfuttatott n+1. tömbelemre semmiképpen sem fogsz hivatkozni.
A többieknek: ez Pascal-szerűség, itt 1-től indul a ciklus.
-
janos1988
addikt
válasz
janos1988
#14151
üzenetére
A . lemaradása már megvan, mert ha a for ciklus elér a 45. lefutáshoz akkor i<>45 hamis (mivel i=45) lesz így már a feltétel is hamis lesz, azaz else ág. Na de, hogy tudom mégis kiíratni.

Szerk.: Ha a for ciklushoz hozzáadok egyet for i:=1 to length(s1)+1 és a kiértékeléshez is (i<>length(s1)+1) akkor minden okés. De szerintem ezt nem így kell(ene) megoldani, hogy túlfuttatom a cilust.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Zsoca1991102: Kábel kereső / ér pár kereső
- Starlink
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Apple asztali gépek
- Monitor hiba topik
- iPhone topik
- És akkor a memóriapánik után beköszöntött a HDD-pánik
- Call of Duty: Black Ops 7
- TCL LCD és LED TV-k
- Forza sorozat (Horizon/Motorsport)
- További aktív témák...
- Sony G 24-105 f/4 - Sigma 50mm f/1.4 Art (SONY E)
- Összeszerelésre váró komplett gépezet várja új gazdáját!
- BONTATLAN Új Iphone 17 256GB White -Fe Szín 1év APPLE garancia gyári független Deák AZONNAL Átvehet
- Asus P5a-b Ss7 dobozos alaplap / K6-2+ 500mhz / Voodoo 3 /Awe 64 / Big Box Game
- Eladó 82 colos 4K HDR Samsung TV
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Keresünk iPhone 15/15 Plus/15 Pro/15 Pro Max
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Apple Watch Ultra 2 49mm Cellular okosóra garanciával hibátlan működéssel
- HP EliteOne 800 G5 All-in-One i5-8500 16GB 512GB 23.8" Érintőkijelző!! 1 év garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi




