usingnamespacestd;
classSUM
{
private:
intC_array[5][5];
ints;
inta;
intb,m,n;
public:
SUM(){}
SUM(inttemp[5][5])
{
inti,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
C_array[i][j]=temp[i][j];
s=0;
a=1;
b=0;
m=0;
n=0;
}
voidprocess1()
{
inti=0,j=4;
for(i=0;i<5;i++)
{
s+=C_array[i][i];
}
for(i=0;i<5;i++)
for(j=4;j>=0;j--)
{
if(i+j==4&&i!=j)
s+=C_array[i][j];
}
cout<<"对角线上所有元素的和为:"<<s<<endl;
}
voidprocess2()
{
inti=0,j=4;
for(i=0;i<5;i++)
{
if((i+1)%2==0)
a*=C_array[i][i];
}
for(i=0;i<5;i++)
for(j=4;j>=0;j--)
{
if((i+j==4)&&(i!=j)&&((i+1)%2==0)&&((j+1)%2==0))
a*=C_array[i][j];
}
cout<<"对角线上所有下标为偶数的元素的积为:"<<a<<endl;
}
voidprocess3()
{
inti=0,j=0;
b=C_array[0][0];
m=0;
n=0;
for(i=0;i<5;i++)
{
if(b<C_array[i][i])
{
b=C_array[i][i];
m=i;
n=i;
}
}
for(i=0;i<5;i++)
{
for(j=4;j>=0;j--)
{
if(i+j==4&&i!=j)
{
if(b<C_array[i][j])
{
b=C_array[i][j];
m=i;
n=j;
}
}
}
}
cout<<"矩阵中对角线上最大元素是:"<<b<<","<<"在矩阵的位置是第"<<m+1<<"行"<<n+1<<"列."<<endl;
}
};
voidmain()
{
intt[5][5];
inti,j;
cout<<"请输入一个5*5的矩阵:"<<endl;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
cin>>t[i][j];
SUMsum(t);
sum.process1();
sum.process2();
sum.process3();
fflush(stdin);
getchar();
}
用VS2008写的,测试过了,没有问题.
另外,站长团上有产品团购,便宜有保证
