Помощь - Поиск - Пользователи - Календарь
Полная версия: Файловый тип...
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
CormiX
Здравствуйте! Прошу помогите написать програмку для решения даной задачи:
Файл f заполнить 300 случайными действительными числами. Найти последнюю компоненту файла f. Буду очень благодарен за помощь.
Немного сделал:
var
f: file of Real;
i: integer;
begin
Randomize;
Assign(f, 'file.bin');
Rewrite(f);
for i := 1 to 300 do
Write(f, Random(1000) * 0.01);
Close(f);
end.

Client
сделай запись в файл через переменную. После цикла в ней и будет последнее значение
volvo
var value: real;
{ ... }
reset(f);
seek(f, pred(filesize(f));
read(f, value);
тоже выдаст значение последней компоненты, у типизированных файлов доступ произвольный, и этим можно пользоваться...
CormiX
Тоесть проще записать файл через тип?
CormiX
Посмотрите позалуйста!!!
Не показывает последнюю компоненту...
program lr3;
uses crt;
const n=10000;
var
f: file of Real;
m,last:real;
i:integer;
begin
Randomize;
Assign(f,'C:\file.bin');
Rewrite(f);
for i := 1 to 300 do
m:=(random(n));
write(f,m);
Close(f);
reset(f);
seek(f, pred(filesize(f)));
read(f, last);
end.
Lapp
Цитата(CormiX @ 12.03.2010 13:12) *
Не показывает последнюю компоненту...
Что значит - не показывает? Ты же ее не печатаешь. Сделай типа
WriteLn(Last);


И - мне кажется, close и reset перед seek - лишние.. А вот закрывать файл в самом конце было бы не лишне..
volvo
Цитата
close и reset перед seek - лишние.
Желательно все-таки сделать Reset (можно без Close, его автоматически подставит компилятор), чтоб гарантированно сбросить в файл все, что хранится в буфере. Иначе при определенных условиях можно получить неверный ответ.
CormiX
Большое спасибо очень помогли! yes2.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.