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