Jestem dość zielona w temacie, no ale dobrze. Zadanie z matury 2015, 4.2, w którym należy sprawdzić, które liczby z pliku są podzielne przez 2 a które przez 8. Plik kompiluje się bez błędów, ale po uruchomieniu wyskakuje błąd 106 i nie jestem w stanie zidentyfikować źródła problemu.
program bin2dec;
uses
crt;
var
f, t : Text;
s, b, c : LongInt;
function bintodec(b, k : LongInt) : LongInt;
begin
if b = 0 then
bintodec := 0
else
bintodec := bintodec(b div 10, k * 2) + b mod 10 * k;
end;
begin
clrscr;
Assign(f, '..\pliki\liczby.txt');
reset(f);
Assign(t, '..\pliki\wyniki.txt');
rewrite(t);
while not EOF(f) do
begin
readln(f, s);
b := s;
b := bintodec(b, 1);
Write(t, s);
if (b mod 2) = 0 then
Write(t, ' (*)');
if (b mod 8) = 0 then
Write(t, ' (**)');
writeln(t);
end;
Close(f);
Close(t);
repeat
until keypressed;
end.
Bardzo proszę o pomoc, mój nauczyciel nie potrafił też znaleźć źródła problemu...