Описать класс матрица. создать метод вычитания матриц (перегруженный оператор “–“). в программе показать пример в c#(си шарп)
197
440
Ответы на вопрос:
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
Популярно: Информатика
-
Hellwood1216.12.2022 05:33
-
илья198822.02.2022 12:03
-
Dilnaz20030112.03.2022 00:06
-
rtyurtuyu07.05.2022 14:12
-
Роза273511.04.2020 20:54
-
asyavish15oy8la605.03.2022 06:28
-
mirafill23.09.2020 18:44
-
hamzmxn6616.05.2022 02:12
-
Катаріна1208.10.2022 23:21
-
Лапушка15018.05.2023 14:04