Я неочень хорошо поняла тему Файлы.... вообщем вотЪ такая вотЪ задачка... я там чет пыталась написать. Вообщем там наверно много неочень разумного...жду ЛЮБЫХ советов и поправок... Пасибки, кто поможет)
Заполнить файл последовательного доступа f целыми числами, полученными с помощью генератора случайных чисел. Получить в файле q те компоненты файла f, которые являются четными.
const n=30;
Var f,q:text;
a:array[1..n] of integer;
i:integer;
Begin
randomize;
for i:=1 to n do
a[i]:=random(100);
Assign(f,'e:\celie.txt');
rewrite(f);
for i:=1 to n do
writeln(f,a[i]);
close(f);
reset(f);
assign(q,'e:\chetnie.txt');
rewrite(q);
while Not(Eof(f)) do
if a[i] mod 2=0 then writeln(q,a[i]);
close(f);
close(q);
Writeln('vot tak','e:\celie.txt','e:\chetnie.txt');
readln;
end.
А тебе можно работать с типизированными файлами?
файл последовательного доступа - это текстовый?
Файл последовательного доступа - это практически любой файл. Это понятие относится к организации доступа к устройству, а не к наполнению.
У тебя была ошибка в цикле записи файла четных чисел. Ты не читала файл целых, а писала четные прямо из старого массива (кстати, зачем тебе вообще массив?.. убери его). При этом заканчивала цикл по концу файла, который никогда не заканчивался, раз ты его не читала..
Исправленный вариант:
const
n=30;
Var
f,q:text;
a:array[1..n] of integer;
i:integer;
Begin
randomize;
for i:=1 to n do a[i]:=random(100);
Assign(f,'e:\celie.txt');
rewrite(f);
for i:=1 to n do writeln(f,a[i]);
close(f);
reset(f);
assign(q,'e:\chetnie.txt');
rewrite(q);
while Not(Eof(f)) do begin
ReadLn(f,i);
if not Odd(i) then writeln(q,i)
end;
close(f);
close(q);
Writeln('vot tak: ',' e:\celie.txt ',' e:\chetnie.txt ');
readln;
end.
volvo,Lapp, не ссорьтесь...
я почему уточнила...
совсем недавно делала лабу - многофазную сортировку слиянием. она вообще-то расчитана на ленты - то есть штуки только с последовательным доступом. сортировались числа, поэтому, чтобы не делать лишний перевод, использовался file of integer. но - никаких seek (это противоречило бы классическому алгоритму).
вот и тут вопрос - то ли речь о том, какой должен быть файл, то ли о том, как с ним работать...
просто формулировка "заполнить файл целыми числами" не совсем точная - если речь именно о текстовом.
Lapp , пасибки... большие.... Ты мне как всегда помог)))))
volvo и тебе пасиба!!!!!