Нужно написать программу процедура сравнения типизированного файла(имя:f1.dat) и...

0 голосов
39 просмотров

Нужно написать программу
процедура сравнения типизированного файла(имя:f1.dat) и целочисленного массива.структура файла:х-целое
у-вещественное.
сравнение осуществляется поэлементно(1-ый элемент массива сравнивается со значением х 1-ой записи файла,....)если все значения совпали,то процедура возвращает строку true иначе false.


Информатика (21 баллов) | 39 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!

type
  tt=record
    x:integer;
    y:real
  end;

procedure Compare(f:file of tt; a:array of integer; var r:string);
begin
  r:='true';
  if f.FileSize<>a.Length then begin
    Writeln('Размер массива не соответствует количеству записей файла');
    r:='false';
    exit
    end;
  f.Seek(0);
  var t:tt;
  for var i:=0 to a.Length-1 do begin
    Read(f,t);
    if t.x<>a[i] then begin
      r:='false';
      exit
      end
    end
end;

begin
  var f:file of tt;
  var n:=ReadInteger('n=');
  Writeln('Введите ',n,' значений для сравнения');
  var a:=ReadArrInteger(n);
  var good:='';
  Assign(f,'f1.dat'); Reset(f);
  Compare(f,a,good);
  Writeln(good);
  f.Close
end.

Внимание! Поскольку входной файл не был представлен, программа не тестировалась! Проверена лишь компиляция программы.
(150k баллов)