Войти
Регистрация
Спроси ai-bota
В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Показать больше
Показать меньше
nowichok
09.03.2020 03:20 •
Информатика
Описать класс матрица. создать метод вычитания матриц (перегруженный оператор “–“). в программе показать пример в c#(си шарп)
Показать ответ
Ответ:
lerakuzka
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 оценок)
Популярные вопросы: Информатика
lolipop891
26.02.2022 12:15
Вася и петя ловили рыбу. у васи хорошо клевало, у пети хуже. сколько рыбы они вместе поймали, если петя поймал на 18 меньше, чем они поймали вместе и у одного из них на 14...
yarik159
07.09.2022 20:13
Определи количество пикселей (суммарно). Запиши ответ.Разрешение монитора 640×256....
Помошник111111114555
07.04.2021 11:37
іть написати інформаційний проект з інформатики 7 клас...
nikgukasov
02.06.2020 03:07
Информатика 10 класс, алгебра логики. Решите...
AliceGo2018
22.10.2022 18:07
Опре¬де¬ли¬те раз¬мер сле¬ду¬ю¬ще¬го пред¬ло¬же¬ния в дан¬ной кодировке ASCII Программы-переводчики успешно переводят текстовые материалы, написанные «сухим» языком. 2. С...
shamshievoleg
26.10.2022 20:48
Білу және түсіну денгейлерін тезірек айтып жібересіздерма өтнем...
Amirzhan143
03.04.2020 12:56
Написать код на Паскале для решения задачи. Дан массив из 15 целых чисел. В заданном массиве найти минимальный нечетный элемент. Вывести на экран его значение и позицию в...
10149
16.04.2023 23:40
Вырази: в рублях и копейках: 527к.,1000к.,905к.,115. в минутах: 3ч.,2ч 50мин.,1ч 5 мин.,12ч. в секундах: 6 мин,5 мин 30с,8мин 4 с,13 мин. в сантиметрах: 50мм,520 дм,7 м 5...
LoVE3223
16.04.2023 23:40
Китай положительные качества и отрицательные.сделать рекламу...
PolinaRa1610200710
16.04.2023 23:40
В3 пачках 21 книга в каждой пачке одинаковое количество книг сколько книг в каждой пачке...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и 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();
}
}