Войти
Регистрация
Спроси ai-bota
В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
Показать больше
Показать меньше
alial1
01.04.2021 18:37 •
Информатика
Описать класс матрица. создать метод вычитания матриц (перегруженный оператор “–“). в программе показать пример в c#(си шарп)
Показать ответ
Ответ:
teymurnadjafov
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 оценок)
Популярные вопросы: Информатика
АмаХастла
29.11.2020 09:58
На языке паскаль напишите программу, решающую следующую : программе на вход подается последовательность символов, завершающаяся символом . (точка). идущие подряд последовательности...
Кристина01012004
05.11.2021 20:34
Масса 8 литров бензина 5,68 цистерна имеет объём 500 м куб . хватит ли её чтобы вместить а т бензина? программа надо...
ОливияСэм
27.10.2022 13:25
Pascal. : вывести на экран наименьшее из пяти чисел...
AsyaFilipova
27.10.2022 13:25
Какая часть операционной системы хранится в постоянном запоминающем устройстве...
Neу4
27.10.2022 13:25
1.в школе 800 учащихся, коды учащихся записаны в школьной информационной системе с минимального количества бит. каков информационный объем в байтах сообщения о кодах 320...
Doalipa
11.01.2021 03:55
Дан целочисленный одномерный массив, состоящий из n элементов. найти произведение нечетных элементов массива....
M89226691130
24.05.2021 01:58
Если n= 0 или m 10 то k= n+m сделайте в паскале !...
LUBUMAR
14.08.2020 03:39
Запишите полный и сокращенный вид условного оператора запишите общий вид оператора выбора запишите условия на языке pascal написать программу на языке pascal в отчете указать...
228Denis228560
14.08.2020 03:39
Название и виды информационных моделей...
mukaseevdaniil1
09.05.2020 01:38
Написать код программы на языке pascal для массива: одномерный массив м, содержит 5 вещественных чисел. найти произведение элементов массива....
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и 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();
}
}