Установить, что в заданной матрице под побочной диагональю нет отрицательных элементов - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы