Advertisement
Guest User

Untitled

a guest
Nov 25th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.88 KB | None | 0 0
  1. using System;
  2.  
  3. namespace ConsoleApplication1
  4. {
  5.     class Matrix2
  6.     {
  7.         int a11=0, a12=0, a21=0, a22=0;
  8.         int[,] matrix = new int[2, 2];
  9.         public Matrix2(int a11, int a12, int a21, int a22)
  10.         {
  11.             matrix[0, 0] = a11;
  12.             matrix[0, 1] = a12;
  13.             matrix[1, 0] = a21;
  14.             matrix[1, 1] = a22;
  15.         }
  16.         public Matrix2(int a11,int a22)
  17.         {
  18.             matrix[0, 0] = a11;
  19.             matrix[1, 1] = a22;
  20.         }
  21.         public Matrix2(Matrix2 A)
  22.         {
  23.             matrix = A.matrix;
  24.         }
  25.         public int Det()
  26.         {
  27.             return matrix[0, 0] * matrix[1, 1] - matrix[0, 1] * matrix[1, 0];
  28.         }
  29.         public int[,] Inverse()
  30.         {
  31.             int[,] invmatrix = new int[2, 2];
  32.             int k;
  33.             k = invmatrix[0, 1];
  34.             invmatrix[0, 0] = matrix[1,1];
  35.             invmatrix[0,0] = k;
  36.             invmatrix[0,1] *= -1;
  37.             invmatrix[1,0] *= -1;
  38.             return invmatrix;
  39.         }
  40.         public int[,] Transpose()
  41.         {
  42.             int[,] tranmatrix= new int[2, 2];
  43.             for (int j = 0; j < matrix.GetLength(1); j++)
  44.                 for (int i = 0; i < matrix.GetLength(1); i++)
  45.                     tranmatrix[i, j] = matrix[j, i];
  46.             return tranmatrix;
  47.         }
  48.         public static int[,] operator +(Matrix2 Arr1, Matrix2 Arr2)
  49.         {
  50.             int[,] sum = new int[2,2];
  51.             for (int i = 0; i< sum.GetLength(1); i++)
  52.                 for (int j = 0; j < sum.GetLength(1); j++)
  53.                     sum[i, j] = Arr1.matrix[i, j] + Arr2.matrix[i, j];
  54.             return sum;
  55.         }
  56.         public static int[,] operator -(Matrix2 Arr1, Matrix2 Arr2)
  57.         {
  58.             int[,] residual = new int[2, 2];
  59.             for (int i = 0; i < residual.GetLength(0); i++)
  60.                 for (int j = 0; j < residual.GetLength(1); j++)
  61.                     residual[i, j] = Arr1.matrix[i, j] + Arr2.matrix[i, j];
  62.             return residual;
  63.         }
  64.         public static int[,] operator *(Matrix2 Arr1, Matrix2 Arr2)
  65.         {
  66.             int[,] multi = new int[2, 2];
  67.             multi[0, 0] = Arr1.matrix[0, 0] * Arr2.matrix[0, 0] + Arr1.matrix[0, 1] * Arr2.matrix[1, 0];
  68.             multi[0, 1] = Arr1.matrix[0, 0] * Arr2.matrix[0, 1] + Arr1.matrix[0, 1] * Arr2.matrix[1, 1];
  69.             multi[1, 0] = Arr1.matrix[1, 0] * Arr2.matrix[0, 0] + Arr1.matrix[1, 1] * Arr2.matrix[1, 0];
  70.             multi[1, 1] = Arr1.matrix[1, 0] * Arr2.matrix[0, 1] + Arr1.matrix[1, 1] * Arr2.matrix[1, 1];
  71.             return multi;
  72.         }
  73.         public static int[,] operator *(Matrix2 Arr1, int k)
  74.         {
  75.             int[,] multi = new int[2, 2];
  76.             multi[0, 0] = Arr1.matrix[0, 0] * k;
  77.             multi[0, 1] = Arr1.matrix[0, 1] * k;
  78.             multi[1, 0] = Arr1.matrix[1, 0] * k;
  79.             multi[1, 1] = Arr1.matrix[1, 1] * k;
  80.             return multi;
  81.         }
  82.         public static int[,] operator /(Matrix2 Arr1, int k)
  83.         {
  84.             int[,] del = new int[2, 2];
  85.             del[0, 0] = Arr1.matrix[0, 0] / k;
  86.             del[0, 1] = Arr1.matrix[0, 1] / k;
  87.             del[1, 0] = Arr1.matrix[1, 0] / k;
  88.             del[1, 1] = Arr1.matrix[1, 1] / k;
  89.             return del;
  90.         }
  91.         public override string ToString()
  92.         {
  93.             return string.Format("{0}\t{1}\n{2}\t{3}", matrix[0,0], matrix[0,1], matrix[1,0], matrix[1,1]);
  94.         }
  95.     }
  96.     class Program
  97.     {
  98.         static void Main(string[] args)
  99.         {
  100.             int[,] matrix = new int[2,2];
  101.             Matrix2 mat = new Matrix2(1,2,3,4);
  102.             Matrix2 mat1 = new Matrix2(1, 2);
  103.             Console.WriteLine(mat.Det());
  104.             matrix = mat + mat1;
  105.             Console.WriteLine(mat.ToString());
  106.             matrix = mat1 * 5;
  107.             Console.WriteLine(matrix);
  108.         }
  109.     }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement