И опять файл - Turbo Pascal

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

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

Все отрицательные элементы целочисленного файла перенести в начало файла. Добавлю от себя, файл может быть .txt и не важно как главное чтобы он отрицательные цифры переносил в начало

Решение задачи: «И опять файл»

textual
Листинг программы
var f:text;
    a:array[1..1000]of integer;
    n,i,k,j,x:integer;
begin
assign(f,'input.txt');
reset(f);
n:=0;
while not eof(f) do
 begin
  inc(n);
  read(f,a[n])
 end;
k:=0;
for i:=1 to n do
if a[i]<0 then
 begin
  k:=k+1;
  x:=a[i];
  for j:=i downto k+1 do
  a[j]:=a[j-1];
  a[k]:=x;
 end;
rewrite(f);
for i:=1 to n do
write(f,a[i]:4);
close(f);
write('Отрицательные числа в файле переставлены вперед');
readln
end.

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

  1. Переменная f инициализируется как файл, который будет использоваться для чтения и записи данных.
  2. Переменная a инициализируется как массив целых чисел, который будет использоваться для хранения чисел, прочитанных из файла.
  3. Переменные n, i, k, j и x инициализируются как переменные, которые будут использоваться для обработки данных.
  4. Цикл while начинается, который будет выполняться до тех пор, пока не будет достигнут конец файла.
  5. Внутри цикла while переменная n увеличивается на единицу, а переменная a[n] читается из файла.
  6. Если значение a[i] меньше нуля, то переменная k увеличивается на единицу, переменная x присваивается значению a[i], а все значения в массиве a от i до k+1 перезаписываются значениями из предыдущего диапазона.
  7. После завершения цикла while файл перезаписывается, и все числа в массиве a записываются в файл.
  8. Выводится сообщение Отрицательные числа в файле переставлены вперед.
  9. Программа завершается, ожидая ввода пользователя.

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


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

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

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