level 13
#include<stdio.h>
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#define N 10
class Hanglie
{
public:
Hanglie();
friend void Hanglieprint(Hanglie (*h)[N]);
friend int detcal(Hanglie (*h)[N]);
Hanglie operator =(const Hanglie &h);
Hanglie operator =(const int &h);
friend Hanglie operator *(const Hanglie &h,const int &h_);
friend Hanglie operator *(const int &h,const Hanglie &h_);
friend Hanglie operator *(const Hanglie &h,const Hanglie &h_);
operator int(); int numberin();
protected:
private:
int number;
int in;
};
2013年03月09日 04点03分
3
level 13
Hanglie::Hanglie()
{
number=0;
in=0;
}
Hanglie Hanglie::operator =(const Hanglie &h)
{
number=h.number;
in=1;
}
Hanglie Hanglie::operator =(const int &h)
{
number=h;
in=1;
}
Hanglie::operator int()
{
int tem;
tem=number;
}
int Hanglie::numberin()
{
return in;
}
Hanglie operator *(const Hanglie &h,const int &h_)
{
Hanglie tem;
tem.number=h.number*h_;
tem.in=1;
return tem;
}
Hanglie operator *(const int &h,const Hanglie &h_)
{
Hanglie tem;
tem.number=h_.number*h;
tem.in=1;
return tem;
}
Hanglie operator *(const Hanglie &h,const Hanglie &h_)
{
Hanglie tem;
tem.number=h.number*h_.number;
tem.in=1;
return tem;
}
2013年03月09日 04点03分
4
level 13
void Hanglieprint(Hanglie (*h)[N])
{
int i,j;
for(i=0;i<N;i++)
{
if(!(h[i][0].numberin()))
{
putchar('\n');
continue;
}
for(j=0;j<N;j++)
{
if(!(h[i][j].numberin()))
{
continue;
}
printf("%d\t",h[i][j].number);
}
putchar('\n');
}
}
2013年03月09日 04点03分
5
level 13
int detcal(Hanglie (*h)[N])
{
int
i,j,k,total;
i=j=k=total=0;
if(!h[0][0].numberin())
{
printf("\n当前没有行列式\n");
return
0;
}
if(!h[0][1].numberin())
{
return
h[0][0].number;
}
else
{
for(i=0;i<N;i++)
{
if(!h[0][i].numberin())
{
break;
}
Hanglie
htem[N][N];
for(j=0;j<N-1;j++)
{
for(k=0;k<N-1;k++)
{
if(k<i)
{
if(h[j+1][k].numberin())
htem[j][k]=h[j+1][k];
}
else
{
if(h[j+1][k+1].numberin())
htem[j][k]=h[j+1][k+1];
}
}
}
total+=int(pow(-1,(1+1+i)))*h[0][i]*detcal(htem);
}
}
return
total;
}
2013年03月09日 04点03分
6
level 13
int main()
{
int i,j;
Hanglie
h[N][N];
printf("行列式为:\n");
Hanglieprint(h);
printf("行列式的结果为:%d",detcal(h));
printf("\n\n");
getchar();
return 0;
}
2013年03月09日 04点03分
7
level 2
强悍啊窦汁,不过那个stdlib头文件是在哪里用到的啊
2013年03月14日 11点03分
14
level 2
强悍啊,窦汁,不过stdlib那个是在哪里用到的啊
2013年03月14日 11点03分
15
用不到 打多了 骚年可否留下姓名?
2013年03月14日 13点03分
回复 dou059593 :闫玉坤
2013年03月14日 14点03分
回复 上岛咖啡浓 :话说我头一次在贴吧里留言,以前都没玩过
2013年03月14日 14点03分
感谢支持
2013年03月14日 14点03分