Удалить из файла первую отрицательную компоненту - Pascal ABC

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

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

Помогите пожалуйста с задачей Ввести файл. Удалить из него первую отрицательную компоненту. Файл вывести

Решение задачи: «Удалить из файла первую отрицательную компоненту»

textual
Листинг программы
Program lab_10;
uses
  crt;
var
  f: file of integer;
  ineg,neg,a,n,i:integer;
begin
  clrscr;
  ineg:=-1;
  assign (f, 'File1');
  rewrite(f);
  writeln ('Vvedite chislo elementov faila.');
  readln (n);
  writeln ('Vvedite elementy fajla');
  for i:= 1 to n do
    begin
      readln (a);
      write (f,a);
    end;
  clrscr;
  writeln('Soderzanie ishodnogo fajla:');
  reset (f);
  for i:=0 to filesize(f)-1 do
    begin
      read (f,a);
      write(a,' ');
    end;
  reset (f);
  for i:=0 to filesize(f)-1 do
    begin
      read (f,a);
      if a<0 then
        begin
          neg:=a;
          ineg:=i;
          break;
        end;
    end;
  writeln;
  writeln ('1 otrizatelny element= ', neg,' nomer=',ineg+1);
  if ineg<0 then
    begin
      writeln('Net otrizatelnix');
      readln;
      exit;
    end;
  if ineg=filesize(f)-1 then
    begin
      seek(f,filesize(f)-1);
      truncate(f);
    end
  else
    begin
      for i:=ineg+1 to filesize(f)-1 do
        begin
          seek(f,i);
          read(f,a);
          seek(f,i-1);
          write(f,a);
        end;
      seek(f,filesize(f)-1);
      truncate(f);
    end;
  seek(f,0);
  writeln('Udalenie otr:');
  while not Eof(f) do
    begin
      read (f,a);
      write(a,' ');
    end;
  close (f);
  readln;
end.

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

  1. Создается программа lab_10, которая использует язык программирования Pascal ABC.
  2. В программе используется файл 'File1' для чтения и записи данных.
  3. Переменная ineg инициализируется значением -1.
  4. Переменная f используется для работы с файлом.
  5. Число элементов файла вводится пользователем.
  6. Чтение и запись данных в файл происходит в цикле for i := 1 до n do.
  7. Числа считываются из файла и записываются в переменную a.
  8. Цикл прерывается, если число a меньше 0.
  9. Если число a меньше 0, то оно сохраняется в переменной neg, а номер i сохраняется в переменной ineg.
  10. Если в файле есть хотя бы одно отрицательное число, программа выводит сообщение об этом и завершается.
  11. Если в файле нет отрицательных чисел, программа продолжает работу.
  12. Если в файле есть только один элемент, программа удаляет его, используя функции seek и truncate.
  13. Если в файле больше одного элемента, программа перезаписывает его, считывая и записывая данные в файл.
  14. Программа завершается после того, как все элементы файла были прочитаны и записаны.

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


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

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

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