Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Ввод миллиона чисел

Автор: Finist 29.02.2004 13:54

Как ввести из файла 10^6 чисел типа Integer?

Автор: AlaRic 29.02.2004 14:25

В Турбо Паскале придется использовать указатели.
В 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.

Автор: AlaRic 29.02.2004 14:38

PS. Считывание у меня длилось 9 мин. 7 сек.

Автор: SKVOZNJAK 2.03.2004 1:27

Как-то долго для быстрых компов. Наверно маленькими порциями читалось.

Автор: Rider 9.03.2004 23:35

Если делать через Delphi, то есть оригинальное решение: читать числа в string с пробелом-разделителем, т. к. в Delphi string практически не ограничен (до 2 ГБ).