Показать сообщение отдельно
  #1  
Старый 29.11.2015, 22:41
Appolinariya_ Appolinariya_ вне форума
Прохожий
 
Регистрация: 26.09.2015
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
Печаль ошибка Incompatible types

При вызове процедуры vivodposl (62 строка кода) выдает ошибку Incompatible types
Программа проверяет, является ли введенная последовательность арифметической прогрессией.
Но какую последовательность не введешь, всегда ответ Нет. Укажите, пожалуйста, ошибку

Код:
type
 posl=array [1..100] of real;
 stroka=string[30];
var
 a:posl;
 i,n:integer;

procedure vvodposl(var a:posl;const namefile:stroka);
var
 fin: textfile;
 i,n:integer;
begin
 assignfile(fin,'f1.txt');
 reset(fin);
 readln(fin,n);
 for i:=1 to n do
  read(fin,a[i]);
 close(fin);
end;

procedure vivodposl(namefile:stroka;const a:posl;i,n:integer;zag:stroka;flag,arifmpr:boolean);
var
 j:integer;
 fout:text;
begin
 assign(fout,namefile);
 if flag then
  rewrite(fout)
 else
  append(fout);
 writeln(fout,zag);
 for i:=1 to n do
   write(fout,a[i]:3:2);
  writeln(fout);
 if arifmpr=true then
  write(fout,'Da')
 else
  write(fout,'Net');
 close(fout);
end;

function arifmpr(a:posl; i:integer):boolean;
var
 d:real;
 k:boolean;
begin
 d:=a[2]-a[1];
 k:=true;
 for i:=2 to n-1 do
  if a[i+1]-a[i]=d then
   result:=true
  else
   k:=false;
 if k=false then
  result:=false
 else
end;

begin
 vvodposl(a,'f1.txt');
 arifmpr(a,i);
 vivodposl('f1.txt',arifmpr(a,i));
end.
Ответить с цитированием