Zdravím,
úkol zní, že mám očíslovat řádky souboru. Číslování funguje, ale nevypíše to poslední znak na konci souboru např. řádek 250 má mít end. , ale vypíše se mi pouze end Tak se chci zeptat, jestli někdo neví, v čem je problém.
Díky
var
input:text;
output1:text;
c:char;
lineCounter: Integer;
soubor:string;
begin
write('Zadejte jmeno souboru: ');
readln(soubor);
assign (input, soubor);
reset (input);
assign (output1,'vystup.txt');
rewrite (output1);
lineCounter := 1;
write (output1,lineCounter);
inc(lineCounter);
while not eof (input) do
begin
if(c = #10) then
begin
write (output1,#10);
write (output1, lineCounter,' ');
inc (lineCounter);
end;
write (output1, c);
read (input, c);
end;
close (input);
close (output1);
readln;
end.
#2 danny04
V Delphi už zrušili ladění (debugging)? Chybí ti poslední písmenko? Jestli nevíme proč? Víme...
Představ si to takto: v pytlíku jsou na kostkách písmenka, ty sáhneš do pytlíku a chytneš jednu kostku a uzavřeš ji v dlani (read(input)). Když chceš zjistit jaké je na kostce písmenko, otevřeš dlaň a podíváš se (write(output)). Zkus si teď ten tvůj program prozkoumat tak, že místo read(input) si říkej sahám do pytliku a místo write(output) otvírám dlaň a koukám na písmenko... Jak to dopadne s poslední kostkou? Podíváš se na ni nebo ne?
Už je ti to jasný?
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku