Как исправить? 23242.pas(18) : Ошибка времени выполнения: Входная строка имела неверный...

0 голосов
139 просмотров
Как исправить? 23242.pas(18) : Ошибка времени выполнения: Входная строка имела неверный формат.
вот код:
var
f1: text;
b, c, i: integer; d: real;

begin
randomize;
assign(f1, '6161.txt');
rewrite(f1);
for i := 1 to 100 do
begin
c := random(1001);
write(f1, c, ' ')
end;
close(f1);reset(f1);
while not EOln(f1) do
begin
read(f1, d); c:= round(d);
if (c div 3 = 0) and (c div 10 div 10 div 10 = 0) and (c = 0) then b := c;
end;
close(f1);append(f1);writeln(f1);writeln(f1);
if b <> 0 then writeln(f1, 'Число ', b, ' является трехзначным и нацело делится на 3')
else writeln(f1, 'В файле нет трехзначных чисел, которые нацело делятся на 3');
close(f1);
end.
image

Информатика (15 баллов) | 139 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
f1: text;
b, c, i: integer; 

begin
randomize;
assign(f1, '6161.txt'); 
rewrite(f1);
for i := 1 to 100 do
begin
c := random(999)+1;
write(f1, ' ', c);
end;
close(f1);reset(f1);
b:=0;
while not EOF(f1) do
begin
read(f1, c);
if (c div 100 > 0) and (c mod 3 = 0) then b:= c;
end;
close(f1);append(f1);writeln(f1);writeln(f1);
if b <> 0 then writeln(f1, 'Число ', b, ' является трехзначным и нацело делится на 3')
else writeln(f1, 'В файле нет трехзначных чисел, которые нацело делятся на 3');
close(f1);
end.

(194k баллов)