Определить, является ли двумерный массив симметричным относительно главной диагонали - C#
Формулировка задачи:
Проверьте, является ли двумерный массив симметричным относительно главной диагонали. Главная диагональ — та, которая идёт из левого верхнего угла двумерного массива в правый нижний.
Формат входных данных
Программа получает на вход число n 100, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по n чисел, являющихся элементами массива.
Формат выходных данных
Программа должна выводить слово yes для симметричного массива и слово no для несимметричного.
Вот мое решение. у меня такая проблема
на этот пример он выводит правильной ответ
3
0 1 2
1 2 3
2 3 4
а на этот правильный и неправильный
5
0 1 2 3 4
1 5 9 8 7
2 9 6 0 0
3 8 0 0 0
4 7 0 5 0
помогите,что я делаю не так не могу разобраться уже второй день
int n = Convert.ToInt32(Console.ReadLine());
int[,] a = new int[n, n];
for (int i = 0; i < n; i++)
{
string[] s = Console.ReadLine().Split(' ');
for (int j = 0; j < n; j++)
{
a[i, j] = Convert.ToInt32(s[j]);
}
}
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
if (a[i, j] != a[j, i])
Console.WriteLine("no");
}
{
Console.WriteLine("yes");
Console.ReadLine();Решение задачи: «Определить, является ли двумерный массив симметричным относительно главной диагонали»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SymmetricMatrix
{
class Program
{
private static bool isSymetric(int[,] a)
{
if (a.GetLength(0) != a.GetLength(1)) return false;
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++)
{
if (a[i, j] != a[j, i]) return false;
}
}
return true;
}
static void Main(string[] args)
{
Console.Write("N:= ");
int n = Convert.ToInt32(Console.ReadLine());
int[,] a = new int[n, n];
for (int i = 0; i < n; i++)
{
Console.Write("Row #{0} numbers: ", i);
string[] s = Console.ReadLine().Split(' ');
for (int j = 0; j < n; j++)
{
a[i, j] = Convert.ToInt32(s[j]);
}
}
if(isSymetric(a))Console.WriteLine("YES!");
else Console.WriteLine("No!");
Console.ReadLine();
}
}
}