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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2011, 21:45   #1
Amid1990
Пользователь
 
Регистрация: 15.11.2010
Сообщений: 17
По умолчанию Изменить файл, удалить все отрицацельные числа

Есть задание
Дан файл целых чисел удалить из него все отрицательные числа.
И есть код программы:
Код:
program d6;
var
k:real;
fIn,fOut:text;
begin
Assign(fIn,'text.txt');
Reset(fIn);
Assign(fOut,'text1.txt');
Rewrite(fOut);
while Not Eof(fIn) do begin
   Read(fIn, K);
   if K>=0 then Write(fOut, K);
end;
Close(fIn);
Close(fOut);
end.
Как сделать что бы эта программа записывала результат не в новый файл а в уже существующий?
Amid1990 вне форума Ответить с цитированием
Старый 08.07.2011, 22:15   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от Amid1990 Посмотреть сообщение
Дан файл целых чисел
Совершенно неверный подход, это не текстовый, а типизированный файл. И работать с ним надо иначе.
Код:
var
  i, j, k, m: integer;
  f: file of integer;
begin
  writeln('Make bin file');
  assign(f, 'file.bin');
  rewrite(f);
  for i := 1 to 15 do begin
    k := random(5)-2;
    write(k:3);
    write(f, k)
  end;
  close(f);

  reset(f);
  i := 0;
  j := 0;
  while not eof(f) do begin
    seek(f, i); read(f, k); inc(i);
    if k >= 0 then begin
      seek(f, j); write(f, k); inc(j)
    end
  end;
  seek(f, j);
  truncate(f);
  close(f);

  writeln;
  writeln('Output rebuild bin file');
  reset(f);
  while not eof(f) do begin
    read(f, k);
    write(k:3);
  end;
  readln
end.
eoln вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в процедуре удалить строки, в которых все числа делят 240000 bananakilla Помощь студентам 0 12.12.2010 21:06
Удалить из массива все чётные числа! malishka ya@ Помощь студентам 4 28.05.2010 01:55
Записать в файл g все парные числа файла f Lemo Помощь студентам 3 19.10.2008 21:27
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа Woland-itn Паскаль, Turbo Pascal, PascalABC.NET 3 23.03.2008 21:49
Удалить из массива(одномерного) все повторяющиеся числа(Delphi) Махор Помощь студентам 4 29.11.2007 23:25