Войти
Регистрация
Спроси ai-bota
В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Показать больше
Показать меньше
skkzrjyltcm2005
09.11.2022 10:49 •
Информатика
Описать класс матрица. создать метод вычитания матриц (перегруженный оператор “–“). в программе показать пример в c#(си шарп)
Показать ответ
Ответ:
2156kolllokir
03.10.2020 18:09
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();
}
}
0,0
(0 оценок)
Популярные вопросы: Информатика
elsoc
13.10.2020 14:05
Укажи вкладку знаком галочка которая позволяет добавить сноску ОТВЕТ ОБОЗНАЧУ ЛУЧШИМ! ...
Rinana1298
07.09.2020 18:45
по информатике только быстрее. 1. Чем различаются текстовые редакторы и текстовые процессоры? 2. Какие текстовые редакторы вы знаете? 3. Какие текстовые процессоры вы знаете?...
Покемон123456789
22.01.2022 00:24
Що з названого епотоковою презентацією?ВідеофільмМалюнокЗвуковий файлТекст...
Wikpiklear
03.11.2020 09:57
Выбери верный ответ.Программа, выводящая 37 раз слово Russia .var i : integer;beginfor i := 1 downto 37writeln ( Russia );readln;end.var i : integer;beginfor i := 1 to 37...
LonelyOne
14.10.2022 23:02
Задание I Выберите правильное утверждение Отличие обычной от концевой сноски заключается в том, что... А) текст обычной сноски находится внизу страницы, на которой находится...
BOSS11112711
21.01.2022 15:05
Көрсетілген команда үшін алгоритм түрі...
SalaevaDarina
23.03.2022 15:38
За ответ мать продам очень нужно ...
Sozedatel
09.11.2020 02:53
ЭТО СОЧAim of the Summative Assessment for the termSummative Assessment is aimed to assess learners’ success in terms of the learning objectives achievement and reveal their...
Crazs
14.01.2023 19:56
Найдите периметр и площадь прямоугольника со сторонами 2 см и 3дм P=(a+b) *2 S=a*b...
Эльвина567
14.01.2023 19:56
(вычислить) Черта дроби;в числитиле 5,29 умножить на 10в минус 5 степени;в знаменателе 10 в минус 7 степени....
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку
О НАС
О нас
Блог
Карьера
Условия пользования
Авторское право
Политика конфиденциальности
Политика использования файлов cookie
Предпочтения cookie-файлов
СООБЩЕСТВО
Сообщество
Для школ
Родителям
Кодекс чести
Правила сообщества
Insights
Стань помощником
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
Договор о конфиденциальности полученной информации
App
Начни делиться знаниями
Вход
Регистрация
Что ты хочешь узнать?
Спроси ai-бота
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();
}
}