Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2009, 15:45   #1
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
Вопрос Работа с файлами на паскале.

Создать файл F, заполненный целыми числами из диапазона [1,20].
Удалить из файла F повторяющиеся включения одного и того же числа.
ПРИМЕР: 10 13 2 5 6 7 6 9 10 2
13 2 5 6 7 9
Вот моя неработающая прога!!
program lab;
var f:file of integer; i,j,a,b,c,d,e,r,h,y:integer;
begin
Assign (f,'lab3.dat');
rewrite (f);
writeln ('vvedite kol-vo elementov v faile');
readln (a);
randomize;
for i:=0 to a-1 do begin
h:=random(20);
write (f,h);
end;
seek (f,0);
while not eof(f) do begin
read (f,h);
write (h,' ');
end;
for i:=0 to a-2 do begin
seek (f,i);
read (f,b);
for r:=i+1 to a-1 do begin
seek (f,r);
read (f,b);
if r=b then begin
seek(f,r+1);
read(f,d);
seek(f,filepos(f)-1);
write (f,d);
for j:=filepos(f) to a-1 do begin
seek (f,filepos(f)+1);
read (f,e);
seek (f,filepos(f)-2);
write (f,e);
end;
end;
Происходит вылет за пределы файла!!!
Не знаю что и делать,
помогите пожалуйста!!!
Заранее премного благодарен.
sir.andrey вне форума Ответить с цитированием
Старый 06.12.2009, 16:10   #2
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Похожее задание на последней странице я привёл код.

p.s.: да и для оформления кода нужно использовать тег [CODE]
dr.Chas вне форума Ответить с цитированием
Старый 06.12.2009, 16:16   #3
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
Радость

Цитата:
Сообщение от dr.Chas Посмотреть сообщение
Похожее задание на последней странице я привёл код.

p.s.: да и для оформления кода нужно использовать тег [CODE]
Огромное спасибо!!! Щас буду разбираться!!!
sir.andrey вне форума Ответить с цитированием
Старый 06.12.2009, 16:24   #4
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
По умолчанию

Цитата:
Сообщение от dr.Chas Посмотреть сообщение
Похожее задание на последней странице я привёл код.

p.s.: да и для оформления кода нужно использовать тег [CODE]
Не. Та тема ваще никаким боком!
Похожа только тем, что тоже с файлами!!
___________________________________ ____
Мне дополнительные файлы использовать нельзя!!
Проблема у меня состоит в том, что когда идет сравнение файловых переменных у меня происходит вылет за пределы файла!!
Например, когда я прочитываю последнюю переменную, read(f,e);
курсор идет на следующую, ну само собой вылет за пределы.
sir.andrey вне форума Ответить с цитированием
Старый 06.12.2009, 16:42   #5
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Цитата:
Сообщение от sir.andrey Посмотреть сообщение
Не. Та тема ваще никаким боком!
Похожа только тем, что тоже с файлами!!
Задания очень похожи. Т.е. вам надо заново перезаписать файл, для этого вы сначала считываете от туда данные, можно во время считывания проверять на наличие повторений и формируете например массив, а потом перезаписываете вашь файл данными из массива.
dr.Chas вне форума Ответить с цитированием
Старый 08.12.2009, 13:49   #6
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
По умолчанию

подскажите как сравнивать и удалять одинаковые.
sir.andrey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами в Паскале Litrian Помощь студентам 5 01.12.2009 16:44
Работа с файлами в Паскале! d00ker Помощь студентам 5 12.03.2009 11:24