Установить, что в заданной матрице под побочной диагональю нет отрицательных элементов - C#
Формулировка задачи:
Дана квадратная матрица размера N. Заполнение матрицы осуществляется с клавиатуры. Составьте программу, определяющую истинность высказывания. Если высказывание истинно, то вывести «true», иначе вывести «false».«В данной матрице под побочной диагональю нет отрицательных элементов».
Ребят очень срочно,выручите
Решение задачи: «Установить, что в заданной матрице под побочной диагональю нет отрицательных элементов»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CyberForum_List
{
class Program
{
private static bool IsPositiveUnderSecondaryDiag(Int32[,] m)
{
if (m.GetLength(0)!=m.GetLength(1))
throw new Exception("Матрица должна быть квадратной");
int length = m.GetLength(1);
for (int i = 0; i < length; i++)
{
for (int j = 0; j < length; j++)
{
if (i+j>length-1)
if(m[i,j]<0) return false;
}
}
return true;
}
private static void PrintMatrix(Int32[,] m)
{
for (int i = 0; i < m.GetLength(0); i++)
{
for (int j = 0; j < m.GetLength(1); j++)
{
Console.Write(m[i,j]+" ");
}
Console.WriteLine();
}
}
private static Int32[,] FillMatrix()
{
Console.WriteLine("Введите размерность квадратной матрицы:");
Int32 n;
bool resLength = Int32.TryParse(Console.ReadLine(), out n);
while (!resLength || n<1)
{
Console.WriteLine("Ошибка ввода. Число должно быть натуральным и положительным.");
resLength = Int32.TryParse(Console.ReadLine(), out n);
}
Int32[,] M = new Int32[n, n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
Console.WriteLine("a[{0},{1}] = ", i,j);
Int32 temp;
bool resTemp = Int32.TryParse(Console.ReadLine(), out temp);
while (!resTemp)
{
Console.WriteLine("Ошибка ввода. Число должно быть натуральным и положительным.");
resTemp = Int32.TryParse(Console.ReadLine(), out temp);
}
M[i, j] = temp;
}
}
return M;
}
static void Main(string[] args)
{
Int32[,] M = FillMatrix();
Console.WriteLine();
PrintMatrix(M);
Console.WriteLine();
if (IsPositiveUnderSecondaryDiag(M))
{
Console.WriteLine("Высказывание истинно. В данной матрице под побочной диагональю нет отрицательных элементов.");
}
else
{
Console.WriteLine("Высказывание ложно. В данной матрице под побочной диагональю есть отрицательные элементов.");
}
Console.ReadLine();
}
}
}