Register

OR

Do you already have an account? Login

Login

OR

Don't you have an account yet? Register

Newsletter

Submit to our newsletter to receive exclusive stories delivered to you inbox!

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

более месяца назад
Просмотров : 24    Ответов : 1   

Лучший ответ:

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();

    }
}


более месяца назад
Ваш ответ:
Комментарий должен быть минимум 20 символов
Чтобы получить баллы за ответ войди на сайт





Вы можете из нескольких рисунков создать анимацию (или целый мультфильм!). Для этого нарисуйте несколько последовательных кадров и нажмите кнопку Просмотр анимации.


Другие вопросы: