Как найти сумму строки или столбца, который имеет конкретное значение? - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь закодировать проблему магического квадрата.У меня есть квадрат 6 * 6, и я знаю, какой должна быть сумма каждой строки или столбца.Это сумма = 6 * ((36 + 1) / 2).В некоторых местах встречаются -1.Мы должны выяснить, что это должно быть, чтобы магический квадрат был правильным.Мне просто нужно знать, как проверить, есть ли -1, и заменить его на правильное число.

Вот минимальный код, содержащий ошибку:

//to check if there is -1
int array[6][6];
sum = 6 * ((36 + 1) / 2)  
int i,j;
for (i=0; i<=6; i++)
    for (j=0; j<=6; j++)
       if(square[i][j] = -1)
       {
           square[i][j] = sum - (sum of the row or column where -1 was found)
       }

1 Ответ

0 голосов
/ 01 февраля 2019

Логика вашего кода верна, единственная проблема, с которой, я думаю, вы должны столкнуться, заключается в том, что оба цикла (для 'i' и 'j') будут выполняться до i = 6 и j = 6, посколькуВы, возможно, изучали, что индексы массивов (даже в 2-м массиве) начинаются с 0 и заканчиваются индексом n-1 (n будет длиной массива)

предположим, что у меня есть массив какa [3] a [3], поэтому индексирование будет таким:

a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] a[2][0] a[2][1] a[2][2]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...