Написать программу, содержащую функцию getInt(Name,k) целого типа, возвращающую к-й элемент файла целых чисел с именем Name(элементы нумеруются от 0). Если файл не существует или не содержит каждого элемента, то функция возвращает 0. С помощью этой функции вывести пять элементов данного файла с указанными номерами — Pascal(Паскаль)

uses crt;
type fail=file of integer;
function getInt(name:string;k:integer):integer;
var f:fail;
    a:integer;
begin
assign(f,name);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  getInt:=0;
  exit;
 end;
if filesize(f)<k+1 then
 begin
  getInt:=0;
  exit;
 end;
seek(f,k);
read(f,a);
getInt:=a;
end;
var f:fail;
    a,i,k:integer;
    s:string;
begin
clrscr;
assign(f,'filef');
rewrite(f);
writeln('Введите в файл целые числа, окончание ввода 0:');
repeat
readln(a);
write(f,a);
until a=0;
clrscr;
writeln('Содержание файла:');
reset(f);
while not eof(f) do
 begin
  read(f,a);
  write(a,' ');
 end;
close(f);
writeln;
for i:=1 to 5 do
 begin
  write('Имя файла: ');
  readln(s);
  repeat
  write('Номер числа от 0 k=');
  readln(k);
  until k>=0;
  if getInt(s,k)=0 then
  writeln('Файл не существует, либо в нем нет элемента № ',k)
  else writeln('Элемент номер ',k,'=',getInt(s,k));
 end;
writeln;
write('Работа программы завершена, нажмите Enter для выхода.');
readln
end.

Leave a Comment

− 5 = 1