Как вывести корректно перегруженные функции? В программе есть две функции ARRAYxARRAY.
Одна умножает матрицу на введеное число, а вторая умножает матрицу на матрица.
Так вот => при выводе результатов мне выдает два раза метод с умножением числа на матрицуusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class Matrix
{
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

21 Авг 2019 в 07:00
185 +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 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир