求C#版本 单纯形法 算法源程序

cover_ 2007-09-07 02:44:31
如题求C#版本 单纯形法 算法源程序
...全文
573 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cover_ 2007-09-07
  • 打赏
  • 举报
回复
已解决
cover_ 2007-09-07
  • 打赏
  • 举报
回复
谢谢阿
王集鹄 2007-09-07
  • 打赏
  • 举报
回复
蹭点分
from http://topic.csdn.net/t/20050517/16/4013920.html

using System;

public Class1
{
public Class1(){};
public const int X=5;
public const int Y=7;
//在c#中不提倡指针,所以方法void xi_max(int *m2,int *mn1,float *c,int *is,int *ir,int
//*j0,float (*a)[X][Y])变为:
void xi_max(ref int m2,ref int mn1,ref float c,ref int is,ref int ir,ref int j0,ref float a[X][Y])
{ int j,c=0;
for(j=1;j<=is;j++)
{ if((a[ir][j]-c>0)
{
c=a[ir][j];
j0=j;}}}

方法int xi_sm(int m,int n,int m2,int mn1,int l1,float (*a)[X][Y],
int(*k)[],float(*x)[])
依次类推,只是2个goto heap有点麻烦,可以采用循环的形式..
int xi_sm(int m,int n,int m2,int mn1,int l1,ref float a[X][Y],ref int k[],ref float x[])
{
int i,m1,mn,j0,i0,j;
float c,g;
m1=m+1;
mn=m+n;
for(i=1;i<=m;i++)
k[i]=n+i;
while(true)
{
if(l1-1==0)
xi_max(ref m2,ref mn1,ref c,ref mn,ref m1,ref j0,a);
while(true)//这个while(true){}就对应着goto leap2---leap2结构...
{
if(l1-50==0)
xi_max(ref m2,ref mn,ref c,ref n,ref m2,ref j0,a);
if((l1-1)!=0&&(l1-50)!=0)
xi_max(ref m2,ref mn1,ref c,ref mn,ref m2,ref j0,a);
c-=1e-8;//?????????????????????????????????????????
if((c<=0)&&(l1==1)&&((*a)[m1][mn1]-1e-8>0))
{
Console.WriteLine("\n\t*********Not min&&No solution**********\n");
return(-1);
}
if((c<0)&&(l1==1))
{
l1=50;}}
.............

}

public static void Main(sting[] Args)
{
float a[5][7]={{0,0,0, 0, 0,0,0},
{0,3,-4,3, 1,0,12},
{0,3,0, 6, 0,1,12},
{0,0,0, 0, 0,0,0},
{0,69,0,144,0,0,300}};
int k[3];
float x[3];
clrscr();
xi_sm(2,3,4,6,0,ref a,ref k,ref x);
}

}
xwk789xwk 2007-09-07
  • 打赏
  • 举报
回复
楼主说的不是很清楚,是不是要代码是用C#写的数据结构算法之类的书啊,C#没有,不过C倒是有,其实你如果懂C的话,找本C的看看就行了,算法主要是要学一种思想,我们不意它是用哪种语言写的
Snoworld 2007-09-07
  • 打赏
  • 举报
回复
楼主说的是什么意思???

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧