public int[,] ComparesLinesAndColumnsWithAnotherMatrices(MyMatrix myMatrixClass, MyMatrix myDerivedClass, int[,] anotherArray) { //Если [3,3] < [4,4], то дополняем производную матрицу элементами базовой матрицы if (myMatrixClass.NumberOfLines < myDerivedClass.NumberOfLines && myMatrixClass.NumberOfColumns < myDerivedClass.NumberOfColumns) { for (int i = 0; i < myMatrixClass.NumberOfLines; i++) { for (int j = 0; j < myMatrixClass.NumberOfColumns; j++) { _baseArray[i, j] = anotherArray[i, j]; } } } //Если [5,5] > [4,4], то сжимаем производную матрицу и заполняем элементами базовой матрицы else if (myMatrixClass.NumberOfLines > myDerivedClass.NumberOfLines && myMatrixClass.NumberOfColumns > myDerivedClass.NumberOfColumns) { for (int i = 0; i < myDerivedClass.NumberOfLines; i++) { for (int j = 0; j < myDerivedClass.NumberOfColumns; j++) { _baseArray[i, j] = anotherArray[i, j]; } } } //Если [3,3] и [4,2], то по строке - дополняем производную матрицу, а по столбцу - сжимаем производную матрицу, //- и заполняем элементами базовой матрицы else if (myMatrixClass.NumberOfLines < myDerivedClass.NumberOfLines && myMatrixClass.NumberOfColumns > myDerivedClass.NumberOfColumns) { for (int i = 0; i < myMatrixClass.NumberOfLines; i++) { for (int j = 0; j < myDerivedClass.NumberOfColumns; j++) { _baseArray[i, j] = anotherArray[i, j]; } } } //Если [3,3] и [2,4], то по строке - сжимаем производную матрицу, а по столбцу - дополняем производную матрицу, //- и заполняем элементами базовой матрицы else { for (int i = 0; i < myDerivedClass.NumberOfLines; i++) { for (int j = 0; j < myMatrixClass.NumberOfColumns; j++) { _baseArray[i, j] = anotherArray[i, j]; } } } return(_baseArray); }
static void Main(string[] args) { MyMatrix matrix = new MyMatrix(6, 5); matrix.ShowMatrix(); Console.WriteLine(new string('-', 20)); matrix.ChangeMatrix(7, 9); matrix[3, 5] = 8; matrix.ShowMatrix(); Console.WriteLine(new string('-', 20)); Console.WriteLine(matrix[3, 5]); Console.WriteLine(new string('-', 20)); matrix.ChangeMatrix(4, 3); matrix.ShowMatrix(); }
static void Main(string[] args) { MyMatrix matrix = new MyMatrix(3, 3); matrix.Show(); Console.WriteLine(new string('-', 30)); Console.WriteLine("[1][2] = {0}", matrix[1, 2]); matrix[0, 0] = 10; Console.WriteLine(new string('-', 30)); matrix.Size(5, 4); matrix.Show(); Console.WriteLine(new string('-', 30)); matrix.ShowPart(1, 0, 3, 3); Console.ReadLine(); }
static void Main(string[] args) { MyMatrix myMatrix = new MyMatrix(), myDerivedMatrix = new MyMatrix(); int[,] baseArray; Console.Write("Количество строк матрицы = "); myMatrix.NumberOfLines = int.Parse(Console.ReadLine()); Console.Write("Количество столбцов матрицы = "); myMatrix.NumberOfColumns = int.Parse(Console.ReadLine()); baseArray = myMatrix.FillsAnarray(); OutputElementOfArray(myMatrix.NumberOfLines, myMatrix.NumberOfColumns, myMatrix); Console.Write("\nКоличество строк производной матрицы = "); myDerivedMatrix.NumberOfLines = int.Parse(Console.ReadLine()); Console.Write("Количество столбцов производной матрицы = "); myDerivedMatrix.NumberOfColumns = int.Parse(Console.ReadLine()); myDerivedMatrix.FillsAnarray(); myDerivedMatrix.ComparesLinesAndColumnsWithAnotherMatrices(myMatrix, myDerivedMatrix, baseArray); OutputElementOfArray(myDerivedMatrix.NumberOfLines, myDerivedMatrix.NumberOfColumns, myDerivedMatrix); //Метод OutputElementsOfArray, в данном теле, нужен лишь затем, чтобы отобразить работу индексатора void OutputElementOfArray(int numberOfLine, int numberOfColumns, MyMatrix myClassReference) { Console.WriteLine("Элементы матрицы:"); for (int i = 0; i < numberOfLine; i++) { for (int j = 0; j < numberOfColumns; j++) { Console.Write($"{myClassReference[i, j]} "); } Console.WriteLine(); } } Console.ReadKey(); }
{ //Автор в видео "выполнение домашнего задания" ещё советовал, если есть время, static void Main(string[] args) //сделать нахождение определителя матрицы (вообще там много чего можно понаде- { //лать - сложение, умножение и т.п....) MyMatrix matrix = new MyMatrix(10, 5); matrix.Show(); Console.WriteLine(new string('-', 30)); Console.WriteLine("элемент с индексом (1,4) = {0}", matrix[1, 4]); Console.WriteLine("элемент с индексом (5,3) = {0}", matrix[5, 3]); matrix[2, 2] = 100; Console.WriteLine("элемент с индексом (2,2) = {0}", matrix[2, 2]); Console.WriteLine(new string('-', 30)); matrix.ChangeSize(5, 11); matrix.Show(); Console.WriteLine(new string('-', 30)); matrix.ShowPart(2, 3, 4, 10); }