IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Типизированные файлы
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 50
Пол: Женский
Реальное имя: Сафиуллина Алёна

Репутация: -  1  +


Есть задача: дан типизированный файл целых чисел, содержащий чётное количество элементов. Удалить из данного файла первую половину элементов.
Вот если бы нужно было удалить вторую половину, то я бы даже не заморачивалась... А так у меня вот какой бред вышел:

var
f,f1: file of integer;
i,c,s:integer;

begin
s:=0;

assign(f,'C:\pas\asd3.bin');
rewrite(f);

write(f,21);
write(f,0);
write(f,-76);
write(f,90);
write(f,78);
write(f,45);
write(f,90);
write(f,43);
close(f);

reset(f);
read(f,c);

while not eof(f) do
begin
read(f,c);
s:=s+1;
writeln©;
end;
seek(f,s-1);
truncate(f);
reset(f);

read(f,c);
close(f);
readln;
end.


truncate, я где-то видела, что усекает размер файла до текущей позиции. Можно ли так вообще делать в этом случае?


--------------------
Жизнь похожа на собачью упряжку: если не идёшь впереди, то всё время видишь одно и то же...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Глюк паскаля?
Глюк IDE Паскаля, если точнее. Потому что в сообщении, которое тебе показывается, явно написано, что произошла внутренняя ошибка и IDE будет закрыта (там еще какой-то сигнал упоминается, то ли 111 то ли 117, не помню уже). В 2.4.2 этот баг вроде пофиксили, я его не встречал ни разу с момента выхода новой версии.

Обнови FPC, твоя 2.2.4 устарела smile.gif

Добавлено через 5 мин.
Цитата
вроде бы работает):
Вроде бы. Но write_pos и save_pos должны быть описаны как LongInt, а не как integer. Иначе при больших файлах (больше чем 32К) в зависимости от режима компиляции может быть разное поведение.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.05.2024 12:36
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name