Как мне написать программу, которая читает квадратный массив целых чисел и определяет, является ли он магическим квадратом или нет? - PullRequest
0 голосов
/ 10 февраля 2011

Это квадрат класса и основная функция.

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

Ответы [ 2 ]

1 голос
/ 10 февраля 2011

Итак, в основном вы должны написать и реализовать класс Square.Тот, который вы подробно описали, имеет два открытых метода, что означает, что эти методы можно вызывать где угодно.Поэтому в вашем main вы вызываете метод s.read () и s.is_magic () для доступа к классу.Итак, вы объявляете экземпляр Square и называете его s, а затем используете s.read () для вызова метода read () внутри s, который является экземпляром квадрата класса.

У вас есть несколько личныхфункции в квадратном классе, чтобы помочь написать это.Закрытые функции - это функции, которые могут быть вызваны только внутри этого класса.Итак, начните с создания метода чтения внутри квадратного класса.Вы должны использовать вспомогательные функции, такие как sum_row () и sum_col (), чтобы помочь написать вашу функцию чтения.Кроме того, переменные частного класса, такие как size, могут использоваться в функциях класса.

Если у вас есть какие-либо вопросы, оставьте комментарий.Но если вы пытаетесь отказаться от написания кода самостоятельно, никто здесь не собирается писать его для вас.Кстати, здесь я использовал методы / функции взаимозаменяемо, вы можете посмотреть, в чем разница, если хотите.

0 голосов
/ 10 февраля 2011

Хороший способ работы с программным обеспечением состоит из 4 этапов: требования, дизайн, кодирование, тестирование.

  1. Требования. Что вы на самом деле хотите сделать? В вашем случае проверьте наличие магических квадратов.
  2. Дизайн. Как вы хотите это сделать? Планируйте свое программное обеспечение, прежде чем писать код. Запишите это на простом английском (или на любом другом языке).
  3. Кодирование. Теперь, когда у вас есть план, напишите свой код.
  4. Тестирование. Протестируйте свое программное обеспечение, чтобы убедиться, что оно выполняет то, что вы намеревались сделать.

Вы можете сделать это небольшими итерациями, сразу, есть много вариантов того, как это сделать, но это хороший способ подойти к задаче написания программы.

В вашем случае вы находитесь на второй фазе. Так что найдите время, чтобы подумать о том, что такое Магический Квадрат , и подумайте, как его проверить. Затем попробуйте взять ваш алгоритм и записать его в код.

...