这是班级广场和主要功能。
const int max_size = 9;
class Square {
public:
void read(); //the square data is read
bool is_magic(); // determin if the given square is a magic square
private:
int sum_row(int i); // returns the row sum of the ith row
int sum_col(int i); // returns the col sum of the ith row
int sum_maindiag(); // returns the main the main diagonal sum
int sum_other(); // returns the non-main diagonal sum
int size;
int grid[max_size][max_size];
};
void main()
{
cout << "Magic Square Program" << endl << endl;
cout << "Enter a square of integers:" << endl;
Square s;
s.read();
if (s.is_magic()) cout << "That square is magic!" << endl;
else cout << "That square is not magic." << endl;
}
答案 0 :(得分:1)
所以基本上你必须编写并实现Square类。你详细介绍的那个有两个公共方法,这意味着可以在任何地方调用这些方法。因此,在您的主要部分中,您将调用s.read()方法并使用s.is_magic()来访问该类。所以你声明一个Square的实例并调用它然后你使用s.read()来调用s中的read()方法,这是一个类方形的实例。
在square类中有一堆私有函数来帮助编写它。私有函数是只能在该类中调用的函数。所以首先在square类中创建read方法。您应该使用sum_row()和sum_col()等辅助函数来帮助编写读取函数。此类私有类变量也可以在类中的函数之间使用。
如果您有任何疑问,请发表评论。但是,如果你想要自己编写代码,那么这里没有人会为你编写代码。顺便说一下,我在这里可以互换使用方法/功能,你可以查看你想要的差异。
答案 1 :(得分:0)
关于软件的一个好方法分为四个阶段:需求,设计,编码,测试。
你可以在一次小的迭代中做到这一点,关于如何解决这个问题有很多变化,但这是一个很好的方式来完成编写程序的任务。
在你的情况下,你可以进入第2阶段。所以请花点时间思考一下Magic Square 是什么,并考虑如何去检查它。然后尝试使用您的算法并将其写入代码。