![]() |
在這個頁面顯示本主題全部的 3 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 以下公式出現數組下標越界訊息,請求協助改正! (http://www.chiefox.com.tw/bbs/showthread.php?threadid=22477)
以下公式出現數組下標越界訊息,請求協助改正!
以下公式出現數組下標越界訊息,請求協助改正!謝謝!
INPUT:N(2,1,99);
cc:=c;
oo:=o;
hh:=h;
ll:=l;
top:h,linethick;
bot:l,linethick;
xx[1]:=1;
kk:=1;
for i=1 to datacount do begin if xx[i]=1 then begin top[i]:=hh[i];
end;
if xx[i-1]=1 then begin if hh[i]>top[i-1] then begin top[i]:=hh[i];
xx[i]:=1,LINETHICK;
end;
else begin top[i]:=top[i-1];
xx[i]:=2;
end;
end;
if xx[i-1]=2 then begin if hh[i]>top[i-1] then begin top[i]:=hh[i];
xx[i]:=1;
end;
else begin top[i]:=top[i-1];
bot[i]:=ll[i];
xx[i]:=3;
end;
end;
if xx[i-1]=3 then begin top[i]:=top[i-1];
if ll[i]<bot[i-1] then begin bot[i]:=ll[i];
xx[i]:=3;
end;
else begin bot[i]:=bot[i-1];
xx[i]:=4;
end;
end;
if xx[i-1]=4 then begin top[i]:=top[i-1];
if ll[i]<bot[i-1] then begin bot[i]:=ll[i];
xx[i]:=3;
end;
else begin bot[i]:=bot[i-1];
xx[i]:=5;
end;
end;
if xx[i-1]=5 then begin if ll[i]<bot[i-1] or hh[i]>top[i-1] then begin top[i]:=hh[i];
bot[i]:=hh[i];
xx[i]:=1;
end;
else begin bot[i]:=bot[i-1];
top[i]:=top[i-1];
xx[i]:=5;
end;
end;
end;
for j=1 to datacount do begin if xx[j]=5 and xx[j-1]=4 then begin for k=j-1 downto j-kk do begin top[k]:=top[j];
bot[k]:=bot[j];
end;
end;
if xx[j-1]=5 and xx[j]=1 then kk:=0;
kk:=kk+1;
end;
回覆: 以下公式出現數組下標越界訊息,請求協助改正!
引用:
最初由 Markchu7 發表
以下公式出現數組下標越界訊息,請求協助改正!謝謝!
INPUT:N(2,1,99);
cc:=c;
oo:=o;
hh:=h;
ll:=l;
top:h,linethick;
bot:l,linethick;
xx[1]:=1;
kk:=1;
for i=1 to datacount do begin if xx[i]=1 then begin top[i]:=hh[i];
end;
if xx[i-1]=1 then begin if hh[i]>top[i-1] then begin top[i]:=hh[i];
xx[i]:=1,LINETHICK;
end;
else begin top[i]:=top[i-1];
xx[i]:=2;
end;
end;
if xx[i-1]=2 then begin if hh[i]>top[i-1] then begin top[i]:=hh[i];
xx[i]:=1;
end;
else begin top[i]:=top[i-1];
bot[i]:=ll[i];
xx[i]:=3;
end;
end;
if xx[i-1]=3 then begin top[i]:=top[i-1];
if ll[i]<bot[i-1] then begin bot[i]:=ll[i];
xx[i]:=3;
end;
else begin bot[i]:=bot[i-1];
xx[i]:=4;
end;
end;
if xx[i-1]=4 then begin top[i]:=top[i-1];
if ll[i]<bot[i-1] then begin bot[i]:=ll[i];
xx[i]:=3;
end;
else begin bot[i]:=bot[i-1];
xx[i]:=5;
end;
end;
if xx[i-1]=5 then begin if ll[i]<bot[i-1] or hh[i]>top[i-1] then begin top[i]:=hh[i];
bot[i]:=hh[i];
xx[i]:=1;
end;
else begin bot[i]:=bot[i-1];
top[i]:=top[i-1];
xx[i]:=5;
end;
end;
end;
for j=1 to datacount do begin if xx[j]=5 and xx[j-1]=4 then begin for k=j-1 downto j-kk do begin top[k]:=top[j];
bot[k]:=bot[j];
end;
end;
if xx[j-1]=5 and xx[j]=1 then kk:=0;
kk:=kk+1;
end;
收到,感謝指導!
全部時間均為台灣時間, 現在時間為06:32 | 在這個頁面顯示本主題全部的 3 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.