Как вывести корректно перегруженные функции? В программе есть две функции ARRAYxARRAY Одна умножает матрицу на введеное число, а вторая умножает матрицу на матрица Так вот => при выводе результатов мне выдает два раза метод с умножением числа на матрицуusing System using System.Collections.Generic using System.Linq using System.Text using System.Threading.Tasks class Matri
protected int row, column protected int[,] ARRAY public int ROW get { return row; set { row = value;
public int COLUMN get { return column; set { column = value;
public Matrix()
public Matrix(int row, int column) this.row = row this.column = column ARRAY = new int[this.COLUMN, this.ROW]
public void EnterMatrix() Console.Write("enter the numbers of matrix columns: ") COLUMN = int.Parse(Console.ReadLine()) Console.Write("enter the numbers of matrix rows: ") ROW = int.Parse(Console.ReadLine()) ARRAY = new int[COLUMN, ROW] for (int col = 0; col < COLUMN; col++) for (int row = 0; row < ROW; row++) Console.Write("enter the elements of matrix cell[" + (col + 1) + ":" + (row + 1) + "]: ") ARRAY[col, row] = int.Parse(Console.ReadLine())
public void Display() for (int col = 0; col < COLUMN; col++) Console.WriteLine() for (int row = 0; row < ROW; row++) Console.Write("{0}\t", ARRAY[col, row])
Console.WriteLine()
public void ARRAYxARRAY(Matrix Matrix, int number) int rows = Matrix.ROW, cols = Matrix.COLUMN for (int i = 0; i < Matrix.ROW; i++) for (int j = 0; j < Matrix.COLUMN; j++) ARRAY[i, j] = Matrix.ARRAY[i, j] * number
public Matrix ARRAYxARRAY(Matrix fMatrix, Matrix sMatrix) int rows1 = fMatrix.ROW, cols1 = fMatrix.COLUMN rows2 = sMatrix.ROW, cols2 = sMatrix.COLUMN Matrix tMatrix = new Matrix(rows1, cols2) if (cols1 == rows2) for (int i = 0; i < rows1; i++) for (int j = 0; j < cols2; j++) for (int k = 0; k < cols1; k++) tMatrix.ARRAY[i, j] += fMatrix.ARRAY[i, k] * sMatrix.ARRAY[k, j]
return tMatrix
els
Console.WriteLine("Matrixes can`t be multiplied.")
return tMatrix
~Matrix() Console.WriteLine("Matrix has been denied.")
class Vector : Matrix public Vector()
public Vector(int row, int column) this.row = row this.column = column ARRAY = new int[this.COLUMN, this.ROW]
~Vector() Console.WriteLine("Vector has been denied.")
class Program static void Main() Matrix MATRIX = new Matrix() MATRIX.EnterMatrix() Console.WriteLine("The matrix is: ") MATRIX.Display() Console.Write("enter the number to multiply by: ") int number = int.Parse(Console.ReadLine()) MATRIX.ARRAYxARRAY(MATRIX, number) MATRIX.Display() Console.Write("*************") MATRIX.ARRAYxARRAY(MATRIX, MATRIX) MATRIX.Display()
Для вывода результатов перегруженных функций ARRAYxARRAY в программе нужно создать объект типа Matrix для хранения результата умножения двух матриц После вызова метода ARRAYxARRAY для умножения числа на матрицу, необходимо создать новую матрицу и вывести ее с помощью метода Display.
Пример кода:
Matrix resultMatrix = new Matrix() Console.WriteLine("The result matrix after multiplying by a number is: ") resultMatrix = MATRIX.ARRAYxARRAY(MATRIX, number) resultMatrix.Display() Console.WriteLine("*************") resultMatrix = MATRIX.ARRAYxARRAY(MATRIX, MATRIX) Console.WriteLine("The result matrix after multiplying by another matrix is: ") resultMatrix.Display();
Таким образом, после вызова перегруженной функции ARRAYxARRAY для умножения матриц, необходимо присвоить результат выполнения метода новой матрице resultMatrix и вывести ее с помощью метода Display.
Для вывода результатов перегруженных функций ARRAYxARRAY в программе нужно создать объект типа Matrix для хранения результата умножения двух матриц
После вызова метода ARRAYxARRAY для умножения числа на матрицу, необходимо создать новую матрицу и вывести ее с помощью метода Display.
Пример кода:
Matrix resultMatrix = new Matrix()Console.WriteLine("The result matrix after multiplying by a number is: ")
resultMatrix = MATRIX.ARRAYxARRAY(MATRIX, number)
resultMatrix.Display()
Console.WriteLine("*************")
resultMatrix = MATRIX.ARRAYxARRAY(MATRIX, MATRIX)
Console.WriteLine("The result matrix after multiplying by another matrix is: ")
resultMatrix.Display();
Таким образом, после вызова перегруженной функции ARRAYxARRAY для умножения матриц, необходимо присвоить результат выполнения метода новой матрице resultMatrix и вывести ее с помощью метода Display.