Есть ответ 👍

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

197
440
Посмотреть ответы 2

Ответы на вопрос:


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

1) 1100110=2^6+2^5+2^2+2=64+32+6=102 2) 11101110=2^7+2^6+2^5+2^3+2^2+2=128+64+32+8+4+2=238 3) 10111011=2^7+2^5+2^4+2^3+2+1=128+32+16+8+2+1=187

Популярно: Информатика