当前位置: 代码迷 >> Delphi >> 希望懂DELPHI的弟兄帮忙翻译一段代码
  详细解决方案

希望懂DELPHI的弟兄帮忙翻译一段代码

热度:9270   发布时间:2013-02-25 00:00:00.0
希望懂DELPHI的兄弟帮忙翻译一段代码
最近研究遗传算法,找了一个DELPHI的例子,代码有部分看不懂,希望懂DELPHI的兄弟帮忙翻译成C#的,谢谢。

type KT=record Fs,Se:integer;end;
TTm=Record T:array of KT;f:integer;End;
TP=array of TTm;

Const N:integer=10;M:Integer=12;
Pc:integer=50;Pm:integer=80;
Fs:array[0..11] of integer=
(4,9,9,9,9,15,15,15,15,15,5,20);
procedure TForm1.Button1Click(…);
Var P:TP;E,t,TMax:Integer;
begin
Initialize(P);t:=0;//初始化种群
TMax:=StrToInt(Edit2.Text);
E:=Evaluate(P); //评估种群
While (P[E].f<100)and(t<TMax) do
Begin
 crossover(P); //杂交
 mutation(P); //变异
 E:=Evaluate(P);t:=t+1; //评估种群
 Edit1.Text:=inttostr(t); //输出显示
 Edit3.Text:=inttostr(P[E].f);
 Print(P[E]);Application.ProcessMessages;
 if (P[E].f=100)or(t=TMax) then Break;
 Select(P); //择优
End;
end;


------解决方案--------------------------------------------------------
工具翻译的。。。。参考一下

int     }  type KT==record Fs,Se;
array of KTf:int    ; }  TTm==Record T;
TP==array of TTm;

int    ==10M:int    ==12; Const N;
int    ==50Pm:int    ==80; Pc;
ray[0->.11] of i[11]nt    == Fs;
(4,9,9,9,9,15,15,15,15,15,5,20);
procedure TForm1->Button1Click(…);
TPE,t,TMax:int    ; { P;
  
Initialize(P);t= 0;//初始化种群
TMax= StrToInt(Edit2->Text);
E= Evaluate(P); //评估种群
While( (P[E]->f<100)&& (t<TMax))
 { 
 crossover(P); //杂交
 mutation(P); //变异
 E= Evaluate(P);t= t+1; //评估种群
 Edit1->Text= inttostr(t); //输出显示
 Edit3->Text= inttostr(P[E]->f);
 Print(P[E]);Application->ProcessMessages;
 if((P[E]->f==100)
------解决方案--------------------------------------------------------
(t==TMax)   ) Break;
 Select(P); //择优
 } 
 } 


------解决方案--------------------------------------------------------
工具翻译的。。。。参考一下

int     }  type KT==record Fs,Se;
array of KTf:int    ; }  TTm==Record T;
TP==array of TTm;

int    ==10M:int    ==12; Const N;
int    ==50Pm:int    ==80; Pc;
ray[0->.11] of i[11]nt    == Fs;
(4,9,9,9,9,15,15,15,15,15,5,20);
procedure TForm1->Button1Click(…);
TPE,t,TMax:int    ; { P;
  
Initialize(P);t= 0;//初始化种群
TMax= StrToInt(Edit2->Text);
E= Evaluate(P); //评估种群
While( (P[E]->f<100)&& (t<TMax))
 { 
 crossover(P); //杂交
 mutation(P); //变异
 E= Evaluate(P);t= t+1; //评估种群
 Edit1->Text= inttostr(t); //输出显示
 Edit3->Text= inttostr(P[E]->f);
 Print(P[E]);Application->ProcessMessages;
 if((P[E]->f==100)
------解决方案--------------------------------------------------------
(t==TMax)   ) Break;
  相关解决方案