Как ввести из файла 10^6 чисел типа Integer?
В Турбо Паскале придется использовать указатели.
В TMT Паскале сделал.
Прога, заполняющая файл случайными числами:
program try;
uses crt;
var
i:longint;
a:array[1..1000000] of integer;
s:file of integer;
begin
assign(s,'datasd.dat');
rewrite(s);
randomize;
for i:=1 to 1000000 do begin
a[i]:=random(50)+0;
write(s,a[i]);
end;
close(s);
end.
program try2;
uses crt;
var
i:longint;
s:file of integer;
begin
assign(s,'datasd.dat');
reset(s);
while not eof(s) do begin
read(s,i);
write(' ',i);
end;
close(s);
end.
PS. Считывание у меня длилось 9 мин. 7 сек.
Как-то долго для быстрых компов. Наверно маленькими порциями читалось.
Если делать через Delphi, то есть оригинальное решение: читать числа в string с пробелом-разделителем, т. к. в Delphi string практически не ограничен (до 2 ГБ).