ну тогда уж:
int[,] a = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
bool s = true;
for (int i = 0; i < a.GetLength(0) && s; ++i)
for (int j = 0; j < a.GetLength(1) && s; ++j)
s &= a[i, j] == a[j, i];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
при этом можно и просто присваивать контрольке значение
int[,] a = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
bool s = true;
for (int i = 0; i < a.GetLength(0) && s; ++i)
for (int j = 0; j < a.GetLength(1) && s; ++j)
s = a[i, j] == a[j, i];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
а можно проверять квадратность матрицы до начала циклов, а так же перебирать "треугольник"
spoilerusing System;
namespace simm_array
{
class Program
{
static void Main(string[] args)
{
var m = new int[,] { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
var w = m.GetLength(0);
var h = m.GetLength(1);
var s = w == h;
for (var x = 0; x < w && s; ++x)
for (var y = x; y < h && s; ++y)
s = m[x, y] == m[y, x];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
}
}
}
в каментах предложено не сканировать главную диагональ.. и это логично! )) .. ну собственно и просто делается
spoilerusing System;
namespace simm_array
{
class Program
{
static void Main(string[] args)
{
var m = new int[,] { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
var w = m.GetLength(0);
var h = m.GetLength(1);
var s = w == h;
for (var x = 0; x < w && s; ++x)
for (var y = x + 1; y < h && s; ++y)
s = m[x, y] == m[y, x];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
}
}
}
ну и немного функционального стиля+синтаксического сахара
spoilerusing System;
namespace simm_array
{
static class Program
{
static void Main(string[] args)
{
var m = new int[,] { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
m.dump();
m.isSymmetrical().report();
}
static bool isSymmetrical(this int[,] m)
{
var w = m.GetLength(0);
var h = m.GetLength(1);
var s = w == h;
for (var x = 0; x < w && s; x++)
for (var y = x + 1; y < h && s; y++)
s = m[x, y] == m[y, x];
return s;
}
static void dump(this int[,] m)
{
var w = m.GetLength(0);
var h = m.GetLength(1);
for (var x = 0; x < w; x++)
{
for (var y = 0; y < h; y++)
{
Console.Write($"\t{m[x, y]}");
}
Console.WriteLine();
}
Console.WriteLine();
}
static void report(this bool s) => Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
}
}
выхлоп