Реализовать в виде класса набор методов для выполнения след.операций с квадратными матрицами размерность 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д