Ответы
#include <iostream>
#include <vector>
using namespace std;
bool isMagicSquare(vector<vector<int>> arr) {
vector<int> sum;
for (int i = 0; i < arr.size(); ++i) {
sum.push_back(0);
sum.push_back(0);
for (int j = 0; j < arr.size(); ++j) {
sum[sum.size() - 1] += arr[i][j];
sum[sum.size() - 2] += arr[j][i];
}
}
sum.push_back(0);
sum.push_back(0);
for (int i = 0; i < arr.size(); ++i) {
sum[sum.size() - 1] += arr[i][i];
sum[sum.size() - 2] += arr[arr.size() - i - 1][i];
}
for (int i = 0; i < sum.size() - 1; ++i)
if (sum[i] != sum[i + 1])
return 0;
return 1;
}
int main() {
vector<vector<int>> arr =
{ {17, 24, 1, 8, 15},
{23, 5, 7, 14, 16},
{4, 6, 13, 20, 22},
{10, 12, 19, 21, 3},
{11, 18, 25, 2, 9}, };
cout << isMagicSquare(arr);
}