Portál AbcLinuxu, 16. dubna 2024 08:42


Dotaz: Nefunkcni uprava retezcu

19.2.2009 22:25 aGr
Nefunkcni uprava retezcu
Přečteno: 108×
Odpovědět | Admin
Mam program:
...
assign(obce,'obce.txt');
reset(obce);
assign(nazvy,'result.txt');
rewrite(nazvy);
readln(obce,obsah);

while not EOLN(obce) do
begin
mez1:=pos('(',obsah);
mez2:=pos(')',obsah);
delete(obsah,mez1,mez2-mez1+2);
end;

writeln(obsah);
close(obce);
close(nazvy);

nevypise vsak nic. Zato pokud vynecham while cyklus a napisu pouze:

readln(obce,obsah);
mez1:=pos('(',obsah);
mez2:=pos(')',obsah);
delete(obsah,mez1,mez2-mez1+2);

pro prvni retezec vse probehne naprosto v poradku, tak jak ma.
Zkousel jsem i "while not EOLN(obce) do" nahradit za "for i:=1 to length(obsah) do" jenze naprosto beze zmeny. Nevim si rady, naky napady?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.2.2009 22:31 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: Nefunkcni uprava retezcu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vôbec netuším, čo by ten program mal robiť (nikde to tam nie je napísané) :)

Podľa mňa by to mohlo vyzerať nejako takto (ale ako som už napísal, netuším, čo to má robiť, takže možno to nebude to, čo potrebuješ):
assign(obce,'obce.txt');
reset(obce);
assign(nazvy,'result.txt');
rewrite(nazvy);

while not Eof(obce) do 
begin
	readln(obce,obsah);
	mez1:=pos('(',obsah);
	mez2:=pos(')',obsah);
	delete(obsah,mez1,mez2-mez1+2);
	writeln(obsah);
end;

close(obce);
close(nazvy);
20.2.2009 14:10 aGr
Rozbalit Rozbalit vše Re: Nefunkcni uprava retezcu
Promin, doplneni :): Mam soubor obce.txt, ktery obsahuje nazvy mest a okresy - napr.: benešov( benešov ) , bernartice( benešov - vlašim )... Mam za ukol odstranit zavorky a vypsat pouze mesta. Cili vysledek by mel vypadat benešov , bernartice... Je jasny, ze to cely, co jsem napsal, pak jeste bude cele ve "while not EOF(obce) do". Ja to zatim zkousim pouze pro jeden retezec. Hlavni je, ze kdyz obsah ve while cyklu vyndam, prikaz se provede spravne (akorat jednou samozrejme). Take jsem ted zjistil, ze kdyz to zkompiluju ve starym Borland Pascalu 7, tak to funguje... Ja pouzivam Dev-Pascal, ale zkousel jsem to i v jinem, ale bez vysledku.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.