标题:C和C++的转换
只看楼主
petitmiracle
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-5-15
 问题点数:0 回复次数:2 
C和C++的转换
感谢斑竹对我C和C++的转换的帖子的回复,我又发一贴,千万别怪我,火烧眉毛阿。我把我的问题大致描述一下:
我刚刚实现一个数据发掘算法的简单程序,是用C写的,非常的简单,要应用于firefox得插件中,但firefox自带的编译只认C++程序,我对C++一点都不懂,希望有高人,耐心的人帮我改下面程序一小小部分或某一个函数成为C++程序,之后我照猫画虎把他完成。。。万望帮助!!!
唉!本来同组的人说给他C程序,然后他有办法让firefox认。结果,他说搞不定,就剩1天了。。。(身在国外,真不想丢人啊)唔唔唔,有时间有耐心的人,帮我改一点点,1行,两行都行,在此先谢过了~~~~~

程序如下:
#include <stdio.h>
#include <stdlib.h>
#define e 0.5

int *Append(int *x, int *w, int y,int len);
int Interet(int *x,int *w,int y,int len);
int MatrixMult(int *x, int *y, int len); /*calculer (W.X) retourner un tableau */
int *MatrixPlus(int *x, int *y, int len); /*calculer Wt+TtVt retourner un valeur */
int *MatrixSingleMult(int* x,int y, int len); /*calculer y.X retourner un tableau */
int MoCarre(int *x, int len); /*calculer ||Vt||.||Vt|| */

int *Append(int *x, int *w, int y,int len)
{
int *xt=x; int *wt=w; int yt=y;
int res;int *vt;int Tt;
int tmp=yt*MatrixMult(xt,wt,len);

if(tmp>0)
{ res=0; }
else
{ res=e-tmp; };

vt=MatrixSingleMult(xt,yt,len);
Tt=res/MoCarre(vt,len);

if(res>0)
{ return MatrixPlus(wt,MatrixSingleMult(vt,Tt,len),len); }
else
{ return wt; }
};

int Interet(int *x,int *w,int y,int len)
{ int *xt=x;int *wt=w;int ya=y;
int tmp;
tmp=MatrixMult(xt,wt,len);
if(tmp>0)
{ ya=1; }
else
{ ya=-1; };
return ya;
};

int MatrixMult(int *x, int *y, int len)
{ int i;int r=0;
for(i=0;i<len;i++)
{ r=r+x[i]*y[i]; };
return r;
};

int *MatrixSingleMult(int* x,int y, int len)
{ int i; int r[100];
for(i=0;i<len;i++)
{ r[i]=x[i]*y; };
return r;
};

int *MatrixPlus(int *x, int *y, int len)
{ int i;int r[100];
for(i=0;i<len;i++)
{ r[i]=x[i]+y[i]; };
return r;
};

int MoCarre(int *x, int len)
{ int i;int r=0;
for(i=0;i<len;i++)
{ r=r+x[i]*x[i]; };
return r;
};

main()
{
int a[10];int b[10];int l=15;
int i;int y=-1;

for(i=0;i<l;i++)
{
a[i]=b[i]=i*2/3;
};

for(i=0;i<l;i++)
{
printf("Append[%d] %d\n",i,Append(a,b,y,l)[i]);
}
printf("Interet= %d\n",Interet(a,b,y,l));

};

搜索更多相关主题的帖子: firefox 
2006-05-16 05:32
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
得分:0 

#include <iostream.h>
#include <stdlib.h>
#define e 0.5

int *Append(int *x, int *w, int y,int len);
int Interet(int *x,int *w,int y,int len);
int MatrixMult(int *x, int *y, int len); /*calculer (W.X) retourner un tableau */
int *MatrixPlus(int *x, int *y, int len); /*calculer Wt+TtVt retourner un valeur */
int *MatrixSingleMult(int* x,int y, int len); /*calculer y.X retourner un tableau */
int MoCarre(int *x, int len); /*calculer ||Vt||.||Vt|| */

int *Append(int *x, int *w, int y,int len)
{
int *xt=x; int *wt=w; int yt=y;
int res;int *vt;int Tt;
int tmp=yt*MatrixMult(xt,wt,len);

if(tmp>0)
{ res=0; }
else
{ res=int(e-tmp); }

vt=MatrixSingleMult(xt,yt,len);
Tt=res/MoCarre(vt,len);

if(res>0)
{ return MatrixPlus(wt,MatrixSingleMult(vt,Tt,len),len); }
else
{ return wt; }
};

int Interet(int *x,int *w,int y,int len)
{ int *xt=x;int *wt=w;int ya=y;
int tmp;
tmp=MatrixMult(xt,wt,len);
if(tmp>0)
{ ya=1; }
else
{ ya=-1; };
return ya;
};

int MatrixMult(int *x, int *y, int len)
{ int i;int r=0;
for(i=0;i<len;i++)
{ r=r+x[i]*y[i]; };
return r;
};

int *MatrixSingleMult(int* x,int y, int len)
{ int i;
static int r[100];
for(i=0;i<len;i++)
{ r[i]=x[i]*y; };
return r;
};

int *MatrixPlus(int *x, int *y, int len)
{ int i;
static int r[100];
for(i=0;i<len;i++)
{ r[i]=x[i]+y[i]; };
return r;
};

int MoCarre(int *x, int len)
{ int i;int r=0;
for(i=0;i<len;i++)
{ r=r+x[i]*x[i]; };
return r;
};

int main()
{
int a[10];int b[10];int l=15;
int i;int y=-1;

for(i=0;i<l;i++)
{
a[i]=b[i]=i*2/3;
};

for(i=0;i<l;i++)
{
cout<<"Append["<<i<<"] "<<Append(a,b,y,l)[i]<<endl;
}
cout<<"Interet= "<<Interet(a,b,y,l)<<endl;
return 0;
}


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-16 06:18
petitmiracle
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-5-15
得分:0 
感谢阿,感谢
2006-05-16 13:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-64561-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.468398 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved