Advertisement
Guest User

Untitled

a guest
Nov 9th, 2021
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.45 KB | None | 0 0
  1. public class Matrix : Array
  2.     {
  3.         public Matrix()
  4.         {
  5.             m = 5;
  6.             n = 10;
  7.             matr = new Array[m];
  8.             for (int i = 0; i < m; i++)
  9.             matr[i] = new Array(n);
  10.             Console.WriteLine("Matrix без параметров выполнен.");
  11.         }
  12.         public Matrix(int m, int n)
  13.         {
  14.             this.m = m;
  15.             this.n = n;
  16.             matr = new Array[m];
  17.             for (int i = 0; i < m; i++)
  18.             matr[i] = new Array(n);
  19.             Random rnd = new Random();
  20.             for (int i = 0; i < m; i++)
  21.             for (int j = 0; j < n; j++)
  22.             matr[i].ar[j] = rnd.Next(100);
  23.             Console.WriteLine("Matrix с параметрами выполнен.");
  24.         }
  25.         public void PrintMatrix()
  26.         {
  27.             for (int i = 0; i < m; i++)
  28.             matr[i].PrintArray();
  29.         }
  30.         // Метод выполняет сортировку элементов строк матрицы по возрастанию
  31.         // с использованием метода вставки
  32.         public void SortMatrix()
  33.         {
  34.             int j, k, l, el;
  35.             for (int i = 0; i < m; i++)
  36.             for (j = 1; j < n; j++)
  37.             {
  38.                 el = matr[i].ar[j];
  39.                 k = 0;
  40.                 while (el > matr[i].ar[k])
  41.                     k++;
  42.                 for (l = j - 1; l >= k; l--)
  43.                     matr[i].ar[l + 1] = matr[i].ar[l];
  44.                 matr[i].ar[k] = el;
  45.             }
  46.         }
  47.         public static bool operator ==(Array ar1, Array ar2)
  48.         {
  49.             int t1, t2;
  50.             t1 = t2 = 0;
  51.             for (int i = 0; i < ar1.n; i++)
  52.             {
  53.                 if (ar1.ar[i] == 0)
  54.                     ++t1;
  55.                 if (ar2.ar[i] == 0)
  56.                     ++t2;
  57.             }
  58.             return (t1 == t2);
  59.         }
  60.         public static bool operator !=(Array ar1, Array ar2)
  61.         {
  62.             return !(ar1 == ar2);
  63.         }
  64.  
  65.         public override bool Equals(object obj)
  66.         {
  67.             try
  68.             {
  69.                 return (bool)(this == (Array)obj);
  70.             }
  71.             catch
  72.             {
  73.                 // Если obj не принадлежит классу Array
  74.                 return false;
  75.             }
  76.         }
  77.         private int m;
  78.         private int n;
  79.         private Array[] matr;
  80.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement