Все отрицательные элементы целочисленного файла перенести в начало файла - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Все отрицательные элементы целочисленного файла перенести в начало файла (дополнительного файла не использовать). Я совсем глуп=( кто поможет + к карме

Решение задачи: «Все отрицательные элементы целочисленного файла перенести в начало файла»

textual
Листинг программы
program zero;
 
var i, p: longint;
    a, b: integer;
    f: file of integer;
 
begin
  assign(f, 'c:\test.dat');
  reset(f);
  p := 0;
  for i := 0 to sizeof(f) - 1 do
    begin
      seek(f, i);
      read(a);
      if a < 0
        then begin
          seek(f, p);
          read(b);
          seek(f, p);
          write(a);
          inc(p);
          seek(f, i);
          write(b)
        end
    end;
  close(f)
end.

Объяснение кода листинга программы

  1. В программе создается файл 'c:\test.dat' и открывается для чтения и записи.
  2. Переменная 'p' устанавливается в 0, что соответствует первому элементу файла.
  3. Цикл 'for' выполняется от 0 до размера файла минус 1.
  4. Внутри цикла переменная 'i' устанавливается в 0, что соответствует первому байту файла.
  5. Чтение из файла происходит по адресу 'i'.
  6. Если чтение показывает отрицательное число, то оно записывается в начало файла, а затем читается следующее число.
  7. После чтения числа, его значение записывается в файл.
  8. Индекс 'p' увеличивается на 1.
  9. После чтения всех чисел, файл закрывается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы