0

これがクラス平方であり、メイン関数です。

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;
}
4

2 に答える 2

1

したがって、基本的に Square クラスを作成して実装する必要があります。詳細を説明したものには2つのパブリックメソッドがあります。つまり、これらのメソッドはどこでも呼び出すことができます。したがって、メインでは、クラスにアクセスするために s.read() メソッドと s.is_magic() を呼び出しています。したがって、Square のインスタンスを宣言して s と呼び、s.read() を使用して、square クラスのインスタンスである s 内で read() メソッドを呼び出します。

Square クラスには、それを書くのに役立つプライベート関数がたくさんあります。プライベート関数は、そのクラス内でのみ呼び出すことができる関数です。そこで、square クラス内で read メソッドを作成することから始めます。読み取り関数の作成を支援するには、sum_row() や sum_col() などのヘルパー関数を使用する必要があります。また、サイズのようなプライベート クラス変数は、クラス内の関数間で使用できます。

ご不明な点がございましたら、コメントを残してください。しかし、あなたが自分でコードを書くことから抜け出そうとしているなら、誰もあなたのためにそれを書くつもりはありません. ちなみに、ここではメソッド/関数を同じ意味で使用していますが、必要に応じて違いを調べることができます。

于 2011-02-10T20:53:19.940 に答える
0

ソフトウェアは、要件、設計、コーディング、テストの 4 つのフェーズに分けて進めるのが良い方法です。

  1. 要件。あなたが本当にやりたいことは何ですか?あなたの場合、魔方陣をチェックしてください。
  2. デザイン。これをどのように行いたいですか?コードを書く前にソフトウェアを計画してください。平易な英語(または他の言語)で書いてください。
  3. コーディング。計画ができたので、コードを記述します。
  4. テスト。ソフトウェアをテストして、設定したとおりに機能することを確認します。

これは小さな反復で一度に行うことができます。これを実行する方法には多くのバリエーションがありますが、プログラムを作成するタスクにアプローチするには良い方法です。

あなたの場合は、フェーズ 2 までです。ですから、時間をかけて魔方陣とは何かを考え、それを確認する方法を考えてください。次に、アルゴリズムをコードに書き込んでみてください。

于 2011-02-10T20:55:42.103 に答える