Задать вопрос
13 января, 02:44

Описать класс Матрица. Создать метод вычитания матриц (Перегруженный оператор "-"). В программе показать пример в C# (си шарп)

+5
Ответы (1)
  1. 13 января, 05:37
    0
    Using System;

    using System. Collections. Generic;

    public class Matrix

    {

    private double[,] Data;

    public double this[int i, int j]

    {

    get { return Data[i, j]; }

    set { Data[i, j] = value; }

    }

    public Matrix (double[,] data) { this. Data = data; }

    public override string ToString ()

    {

    var sb = new System. Text. StringBuilder ();

    for (var i = Data. GetLowerBound (0); i < = Data. GetUpperBound (0); i++)

    {

    for (var j = Data. GetLowerBound (1); j < = Data. GetUpperBound (1); j++)

    {

    sb. AppendFormat ("{0} ", Data[i, j]);

    }

    sb. AppendLine ();

    }

    return sb. ToString ();

    }

    public int GetUpperBound (int i) = > this. Data. GetUpperBound (i);

    public static Matrix operator - (Matrix a, Matrix b)

    {

    var c = new double[1 + Math. Min (a. GetUpperBound (0), b. GetUpperBound (0)), 1 + Math. Min (a. GetUpperBound (1), b. GetUpperBound (1)) ];

    for (var i = 0; i < = c. GetUpperBound (0); i++)

    {

    for (var j = 0; j < = c. GetUpperBound (1); j++)

    {

    c[i, j] = a[i, j] - b[i, j];

    }

    };

    return new Matrix (c);

    }

    }

    class Program

    {

    static void Main ()

    {

    var n = 5;

    var a = new Matrix (new double[n, n]);

    var b = new Matrix (new double[n, n]);

    for (var i = 0; i < n; i++)

    {

    for (var j = 0; j < n; j++)

    {

    a[i, j] = i + j;

    b[i, j] = i;

    }

    }

    Console. WriteLine (a);

    Console. WriteLine (b);

    Console. WriteLine (a - b);

    Console. ReadKey ();

    }

    }
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «Описать класс Матрица. Создать метод вычитания матриц (Перегруженный оператор "-"). В программе показать пример в C# (си шарп) ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы