#include<iostream>
#include<iomanip>
using namespace std;
class magic
{ public:
void getdate(); //输入初值成员函数
void setfirstmagic(); //设置初始魔方成员函数
void generatemagic(); //生成最终魔方成员函数
void printmagic(); //显示魔方成员函数
private:
int m[4][4];
int step;
int first;
int sum;
};
void magic::getdate() //输入初值成员函数
{ cout<<"请输入初始魔方起始值:";
cin>>first;
cout<<"请输入相邻元素之间的差值:";
cin>>step;
}
void magic::setfirstmagic() //设置初始魔方成员函数
{ m[0][0]=first;
int i,j;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{ m[i][j+1]=m[i][j]+step;
if(i<3)
m[i+1][0]=m[i][j+1]+step;
}
}
void magic::generatemagic() //生成最终魔方成员函数
{ sum=m[0][0]+m[3][3];
int i;
for(i=0;i<4;i++)
{ m[i][i]=sum-m[i][i];
m[i][3-i]=sum-m[i][3-i];
}
}
void magic::printmagic() //显示魔方成员函数
{
int i,j;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
cout<<setw(6)<<m[i][j];
cout<<endl;
}
}
int main()
{ magic mag;
mag.getdate();
mag.setfirstmagic();
cout<<"初始魔方:"<<endl;
mag.printmagic();
mag.generatemagic();
cout<<"最终魔方:"<<endl;
mag.printmagic();
return 0;
}
81页第二题设计魔方
最新推荐文章于 2022-03-23 10:12:24 发布