Как вывести корректно перегруженные функции? В программе есть две функции 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()

}

21 Авг 2019 в 07:00
164 +1
0
Ответы
1

Для вывода результатов перегруженных функций 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.

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 663 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир