Задать вопрос
1 июня, 18:24

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

+1
Ответы (1)
  1. 1 июня, 20:25
    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# (си шарп) ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
1. Соотнесите названия операторов, служебных слов, функций и их написание на языке Paskal: 1. Оператор ввода данных a) Begin, End 2. Условный оператор в неполной форме b) Sqrt (X) 3. Оператор цикла с предусловием c) N div M 4.
Ответы (1)
На диске D необходимо выполнить следующую последовательность действий:, Создать каталог МИН, Открыть каталог МИН, Создать каталог 1, Открыть каталог 1, Создать каталог 11, Подняться на 1 уровень вверх, Создать каталог 2, Подняться на 1 уровень
Ответы (1)
1) В алгоритме, записанном ниже, используются переменные a и b. Символ ":=" обозначает оператор присваивания, знаки "+", "-", "*" и "/" - соответственно операции сложения, вычитания, умножения и деления.
Ответы (1)
Задание1: В массиве из 100 случайных целых чисел найти максимальный элемент и количество вхождений этого элемента в массив. Задание2: Реализовать простые операции с матрицами: транспонирование, умножение на число, сложение и перемножение двух матриц.
Ответы (1)
1. Как создать новую презентацию в макете пустой слайд? 2, Как создать оформление фона собственного стиля? 3, Как создать презентацию на основе шаблона? 6. Как создать презентацию с собственным шаблоном оформления?
Ответы (1)