.NET 4.x Описать класс, реализующий тип данных "вещественная матрица" и работу с ними - C#

Узнай цену своей работы

Формулировка задачи:

Нужно описать класс, реализующий тип данных ≪вещественная матрица≫ и работу с ними. Значит, я начал писать с помощью массивом. И вот столкнулся с такой проблемой, что при сложении массив в public static Matrix operator +(Matrix mas, Matrix mas1), а именно temp[i,j] = mas[i,j] + mas1[i,j]; - пишет неоднозначный вызов следующих методов или свойств: WindowsFormsApplication1.Matrix.this[int,int]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace WindowsFormsApplication1
{
    class Matrix
    {
        public double[,] mas = new double[5, 5];
        public double[,] mas1 = new double[5, 5];
        public double[,] temp = new double[5, 5];
 
        public Matrix(double[,] mas11, double[,] mas22, double[,] temp1)
        {
            mas = mas11;
            mas1 = mas22;
            temp = temp1;
        }
 
        public double this[int i, int j]
        {
            get { return mas[i, j]; }
            set { mas[i, j] = value; }
        }
        public double this[int i, int j]
        {
            get { return mas1[i, j]; }
            set { mas1[i, j] = value; }
        }
        public static Matrix operator +(Matrix mas, Matrix mas1)
        {
            
            double[,] temp = new double[5, 5];
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    temp[i,j] = mas[i,j] + mas1[i,j];
                }
            }
            return temp;
        }
 
    }  
}

Решение задачи: «.NET 4.x Описать класс, реализующий тип данных "вещественная матрица" и работу с ними»

textual
Листинг программы
    class mas
    {
        int[] inner = new int[5];
 
        public mas()
        {
 
        }
        public mas(int num)
        {
            for (int i = 0; i < 5; i++)
                inner[i] = num;
        }
 
        public static mas operator + (mas m1, mas m2)
        {
            mas m3 = new mas();
            for (int i = 0; i < 5; i++)
                m3.inner[i] = m1.inner[i] + m2.inner[i];
            return m3;
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы