幻方C++的最新制作(30分要吗?谢谢)

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:56:50
把它制作成

幻方制作
============
1奇数阶幻方
2偶数阶幻方
选择(1或者2;0退出)

再加10分!!
跳楼了…………

#include<iostream.h>
#include<iomanip.h>
#include<string>
#define max 100
int magic[max][max];
class HF //幻方
{
private:
int n; //幻方的阶乘数
int x,y; //数组的下标,X轴 Y轴
int i,j; //循环变量
int di,dx,dy; //单偶数幻方用
int oucs; //偶数常数
int temp;
public:
void accept(); //接受数据
void jshf(); //奇数阶乘幻方
void souhf(); //双偶数幻方
void dsouhf(); //单偶数幻方
void operate(); //运算 组合
void display(); //显示结果
};
void HF::accept() //接受数据
{
cout<<"请输入幻方的阶乘数 n : ";
cin >>n;
}
void HF::jshf() //奇数幻方 (2n+1)(连续摆数法)
{
x=n/2,y=0; //X Y表示 数轴(设左上角为(0,0))
for (i=1;i<=n*n;i++)
{
magic[y][x] =i; //给x*y个格子赋值
if (i%n==0) //右上角有数,放在下面
y++;
else if (y==0) //超出上边界