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

0 интересует 0 не интересует
164 просмотров
Как исправить? 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 баллов) в категории Информатика
1 Ответ
0 интересует 0 не интересует
ответил от БОГ (194k баллов)
 
Лучший ответ

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.

...