Skládání slov - eof, eoln – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Skládání slov - eof, eoln – Pascal – Fórum – Programujte.comSkládání slov - eof, eoln – Pascal – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
2. 12. 2014   #1
-
0
-

Zdravím, mám program, který sčítá chary (zapomocí concat) a skláda je do stringu a následně stringy počítá, jenomže každé slovo na konci řádku není započteno, protože konec slova program pozná podle mezery. 

Mám cyklus while not eof doa v něm mám podmínku if eoln then 

Bohužel v této kombinaci mi to stringuje každý znak zvlášt a pokud udělám samotný cyklus na eoln bokem, tak se mi špatně počítají slova.

Budu rád za každou radu, díky

Nahlásit jako SPAM
IP: 89.177.144.–
KIIV
~ Moderátor
+43
God of flame
3. 12. 2014   #2
-
+1
-
Zajímavé

Pokud nemas texty na jednom radku delsi nez 255znaku, tak muzes kazdy radek nacist rovnou cely do retezce a projet ty znaky v nem.

Nebo se na eoln vykasli a pocitej krom mezer taky znaky #10 a #13 (ale predpoklada to, ze nacitas jednotlive znaky)

Nahlásit jako SPAM
IP: 94.113.95.–
Program vždy dělá to co naprogramujete, ne to co chcete...
3. 12. 2014   #3
-
0
-

#2 KIIV
Ale pokud nahraju cely radek najednou, tak v nem i tak budu muset projizdet kazdy znak zvlast a zase nepoznam konec ne?

O znaku #10 vím, ale nevím jak ho zapsat (if (znak=#10)OR(znak=#13)) nereaguje

Nahlásit jako SPAM
IP: 89.177.144.–
3. 12. 2014   #4
-
0
-

Potřebuju hlavně spočítat kolikrát je slovo (které zadá uživatel) v daném souboru. Zkoušel jsem to i přes volání funkce na každém řádku pro procházení stringu, ale žádné z mých řešení není funkční :/

Nahlásit jako SPAM
IP: 89.177.144.–
Řešení
Mircosoft+1
Věrný člen
3. 12. 2014   #5
-
+1
-
Zajímavé
Vyřešeno Nejlepší odpověď

Nejjednodušší by asi bylo nadefinovat si množinu znaků, které ukončují slova:

const KonceSlov:set of char=[' ', ',', '.', #13, #10, '(', ')']

Případně ještě doplň další znaky, které tě napadnou. Když budeš soubor brát jako binární file of char, zbavíš se starostí s Eoln a prostě pojedeš lineárně while not eof(soubor) do begin read(soubor,znak); if eof(soubor) or znak in KonceSlov then {skončilo slovo, nějak ho zpracuj} end.

Nahlásit jako SPAM
IP: 212.79.106.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
peter
~ Anonymní uživatel
4014 příspěvků
4. 12. 2014   #6
-
0
-

"konec slova program pozná podle mezery"
Konec slova se preci pozna tak, ze neobsahuje zadne pismeno. Pak tam muze byt tedy mezera, tecka, cislo nebo cokoliv a nebude to uz soucasti slova. Ale cisla bys do toho asi mel taky priradit, kvuli nickum. A kvuli dalsim i jine znaky. Zajimave muze byt resit heslo, kdyz si tam da clovek ruzne znaky, tecky, vykricniky, procenta, mezery :)

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:83a:31e...–
Mircosoft+1
Věrný člen
4. 12. 2014   #7
-
+1
-
Zajímavé

#5 Mircosoft
Popletl jsem prioritu operátorů, in je až po or. Musí se to zazávorkovat: if eof(soubor) or (znak in KonceSlov) then ...

Nahlásit jako SPAM
IP: 212.79.106.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 42 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý