#include<iostream>
#include<iomanip>
using namespace std;
class magic
{
public:
void getdata(int a,int b);
void setfirstmagic();
void generatemagic();
void printmagic();
private:
int m[4][4];
int step;
int first;
int sum;
};
void magic::getdata(int a,int b)
{
step=a;
first=b;
}
void magic::setfirstmagic()
{
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
m[i][j]=first+(step*i*4)+step*j;
}
void magic::generatemagic()
{
int i,j;
int biggest=m[0][0];
for( i=0;i<4;i++)
for( j=0;j<4;j++)
if(m[i][j]>biggest)
biggest=m[i][j];
int smallest=m[0][0];
for( i=0;i<4;i++)
for( j=0;j<4;j++)
if(m[i][j]<smallest)
smallest=m[i][j];
sum=biggest+smallest;
for( i=0;i<4;i++)
for( j=0;j<4;j++)
if((i==j)||(i+j==3))
m[i][j]=sum-m[i][j];
}
void magic::printmagic()
{
cout<<"魔方为:"<<endl;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
cout<<m[i][j]<<setw(4)<<"\t";
cout<<endl;
}
}
int main()
{
magic cube;
cube.getdata(2,1);
cube.setfirstmagic();
cube.generatemagic();
cube.printmagic();
return 0;
}
第三单元 魔方
最新推荐文章于 2018-08-18 19:13:51 发布