array型態傳值問題 |
答題得分者是:shinhrn
|
weihsin
一般會員 發表:3 回覆:2 積分:1 註冊:2005-09-22 發送簡訊給我 |
procedure TForm1.nor(landa:real;num:integer;var x:TIntArray);
var xx,u:real;
i:real;
e:TIntArray;
begin
SetLength(e,num);
i:=0;
while i < num do
begin
Randomize;
u:=Random(High(integer)) / MaxInt;
xx:=-(1/landa)*Ln(u);
i:=i+1;
e[i]:=xx; //出現問題在此處
end;
我想把產生num個xx值存成陣列,傳給e變數,可是出現了
Incompatible types:'Integer' and 'real'的錯誤,
請問是我宣告的型態出現了錯誤了嗎?
[sorry.第一次學程式]
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TIntArray = array of Integer; TRealArray = array of Real; TForm1 = class(TForm) Button1: TButton; private { Private declarations } public { Public declarations } procedure nor(landa:real;num:integer;var x:TIntArray); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.nor(landa:real;num:integer;var x:TIntArray); var xx,u:real; i:Integer; e:TIntArray; er:TRealArray; begin //SetLength(e,num); SetLength(er,num); i:=0; while i < num do begin Randomize; u:=Random(High(integer)) / MaxInt; xx:=-(1/landa)*Ln(u); i:=i 1; //e[i]:=xx; //出現問題在此處 er[i]:=xx; end; end; end. |
shinhrn
中階會員 發表:54 回覆:165 積分:83 註冊:2002-06-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |