帮助查错?怎么会这样的? (50分)

  • 主题发起人 gglrobin
  • 开始时间
G

gglrobin

Unregistered / Unconfirmed
GUEST, unregistred user!
变是声明是这样的
RecNo为全局变量,为一个常数
var i,ii,b,abc,l,j,p,ti,r,pp,Code,k:integer;
s,S2,aaa1,aaa2,str1,str2,s_x:string;
x:array[1..100,1..20] of string;
g,e,z,X_calc:array[1..100,1..20] of real;
Max_x,Min_x:real;
c,a,q:real;
ss,d:array[1..5050] of real;
下面是出错的代码段:
for i:=1 to RecNo-1
do
begin
g[1,i]:=d;
end;
for i:=1 to CutNo-1
do//[Error] Unit1.pas(263): Incompatible types: 'Integer' and 'Extended'这是怎么回事呀?
begin
for j:=1 to RecNo-i
do
begin
for l=1 to RecNo-j-i+1
do
begin
ss[l]:=g[i,l]+d[RecNo*(l+i-1)+RecNo-j+1-(l+i)*(l+i-1) div 2];
//输出s(l)
memo1.Lines.Add(currtostr(ss[l]));

end;
a:=ss[1];
p:=i+1;
b:=i;
for l:=1 to RecNo-j-i+1
do
begin
if a>ss[l] then
begin
a:=ss[l];
b:=i+l-1;
end;
end;
g[p,RecNo-i-j+1]:=a;
e[p,j]:=b;
Memo1.Lines.Add('G['+currtostr(p)+','+currtostr(RecNo-i-j+1)+']='+currtostr(a)) ;
memo1.Lines.Add('E['+currtostr(p)+','+currtostr(j)+']='+currtostr(e[p,j])) ;
end;
end;
 
数组变量赋值类型不对
单步跟踪即可
 
至于[Error] Unit1.pas(268): [Error] Unit1.pas(269):是你把循环变量l:= 1 写成 l=1
 
谢谢 咔波碧宝,现在只有这一个错误了,还请各位高手指教!
//[Error] Unit1.pas(263): Incompatible types: 'Integer' and 'Extended'这是怎么回事呀?
 
for i:=1 to CutNo-1
cutno 是嘛玩意?
 
cutnot和RecNo一样是一个已给定的数字,
 
//[Error] Unit1.pas(263): Incompatible types: 'Integer' and 'Extended'这是怎么回事呀?
数据类型不对拉 查查HELP你就知道了
 
具体是那里出错了嘛,帮忙说说,我查了半天就是查不出来。
 
比如cutno如果不是Integer怎么版?
 
可能你的cutnot是Extended类型 当然出错
把你的cutnot的情况说明一下
 
用round()或trunc()转换
不过始终不明白你为什么不把cutno设为integer
 
谢谢lvxq提醒,我在程序中设定的CutNo为Real型,现在改过来了,编绎通过了。
本问题结束,分配积分了。
 

Similar threads

I
回复
0
查看
569
import
I
I
回复
0
查看
522
import
I
I
回复
0
查看
610
import
I
I
回复
0
查看
749
import
I
I
回复
0
查看
780
import
I
顶部