Реализовать в виде класса набор методов для выполнения след.операций с квадратными матрицами размерность 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;
}
}
}