Реализовать в виде класса набор методов для выполнения след.операций с квадратными матрицами размерность n*n - C#

Узнай цену своей работы

Формулировка задачи:

Реализовать в виде класса набор методов для выполнения след.операций с квадратными матрицами размерность n*n: 1) Сложение двух матриц 2) умножение одной матрицы на другую 3) нахождение суммы элементов на главной диагонали

Решение задачи: «Реализовать в виде класса набор методов для выполнения след.операций с квадратными матрицами размерность n*n»

textual
Листинг программы
using System;
namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите n:");
            int n = int.Parse(Console.ReadLine());
 
            int[,] massiv = new int[n, n];
            Console.WriteLine("Заполните первую матрицу");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write("Введите элемент [{0},{1}] ",i,j);
                    massiv[i, j] = int.Parse(Console.ReadLine());
                }
            }
 
            int[,] massiv1 = new int[n, n];
            Console.WriteLine("Заполните вторую матрицу");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write("Введите элемент [{0},{1}] ", i, j);
                    massiv1[i, j] = int.Parse(Console.ReadLine());
                }
            }
            Console.WriteLine("Матрица 1");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write(massiv[i, j] + " ");
                }
                Console.WriteLine();
            }
 
            Console.WriteLine("Матрица 2");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write(massiv1[i, j] + " ");
                }
                Console.WriteLine();
            }
 
            Massiv obj = new Massiv();
            int [,] massiv2 = obj.Addition(massiv,massiv1);
            Console.WriteLine("Сложенные матрицы");
            for(int i=0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write(massiv2[i,j]+" ");
                }
                Console.WriteLine();
            }
            int[,] massiv3 = obj.Multiplication(massiv, massiv1);
            Console.WriteLine("Умноженные матрицы");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write(massiv3[i, j]+" ");
                }
                Console.WriteLine();
            }
            int sum = obj.Summa(massiv);
            int sum1 = obj.Summa(massiv1);
            Console.WriteLine("Сумма элементов главной диагонали первой матрцы {0} второй матрицы {1}",sum,sum1);
            Console.ReadKey();
        }
    }
 
    class Massiv
    {     
        public int[,] Addition(int[,] massiv,int[,] massiv1)
        {
            int[,] resMassiv = new int[massiv.Length, massiv1.Length];
            for (int i = 0; i < massiv1.GetLength(0); i++)
                for (int j = 0; j < massiv1.GetLength(1); j++)
                    resMassiv[i, j] = massiv[i, j] + massiv1[i, j];
            return resMassiv;
        }
 
        public int[,] Multiplication(int[,] massiv, int[,] massiv1)
        {
            int[,] resMassiv = new int[massiv.Length, massiv1.Length];
            for (int i = 0; i < massiv1.GetLength(1); i++)
            {
                for (int j = 0; j < massiv1.GetLength(0); j++)
                {
                    resMassiv[i, j] = 0;
                    for (int k = 0; k < massiv1.GetLength(0); k++)
                    {
                        resMassiv[i, j] += massiv[i, k] * massiv1[k, j];
                    }
                }
            }
            return resMassiv;
        } 
        public int Summa(int [,] massiv)
        {
            int sum = 0;
            for (int i = 0; i < massiv.GetLength(0); ++i)
                sum += massiv[i, i];
            return sum;
        }
    }
}

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


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

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

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