Все отрицательные элементы целочисленного файла перенести в начало файла - 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.
Объяснение кода листинга программы
- В программе создается файл 'c:\test.dat' и открывается для чтения и записи.
- Переменная 'p' устанавливается в 0, что соответствует первому элементу файла.
- Цикл 'for' выполняется от 0 до размера файла минус 1.
- Внутри цикла переменная 'i' устанавливается в 0, что соответствует первому байту файла.
- Чтение из файла происходит по адресу 'i'.
- Если чтение показывает отрицательное число, то оно записывается в начало файла, а затем читается следующее число.
- После чтения числа, его значение записывается в файл.
- Индекс 'p' увеличивается на 1.
- После чтения всех чисел, файл закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д