Răspuns :
#include <iostream>
#include <fstream>
bool magic(const int* in, const int n)
{
int i, j, res[4]={0};
for(i = 0; i < n; ++i)
for(j = 0; j < n; ++j)
res[0] += in[i * n + j];
for(j = 0; j < n; ++j)
for(i = 0; i < n; ++i)
res[1] += in[i * n + j];
if(res[1] != res[0])
return false;
res[0] /= n; res[1] /= n;
for(i = 0; i < n; ++i)
res[2] += in[i * n + i];
if(res[2] != res[1])
return false;
for(i = 0; i < n; ++i)
res[3] += in[i * n + (n - i - 1)];
if(res[3] != res[2])
return false;
return true;
}
int main()
{
int *vec;
std::ifstream fin("magic.in");
std::ofstream fout("magic.out");
int n;
if(fin >> n){
vec = new int[n * n];
for(int i = 0; i < n * n; ++i)
fin >> vec[i];
}
fout << (magic(vec, n) ? "true" : "false");
fin.close();
fout.close();
delete[] vec;
return 0;
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.