Задать вопрос
31 марта, 07:54

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

+4
Ответы (1)
  1. 31 марта, 08:57
    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# (си шарп) ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы