Описать класс, реализующий тип данных "вещественная матрица" и работу с ними - C# (192393)
Формулировка задачи:
Друзья, помогите пожалуйста! Задание звучит так:
Описать класс, реализующий тип данных ≪вещественная матрица≫ и работу с ними. Класс должен реализовывать следующие операции над матрицами:
• сложение, вычитание (как с другой матрицей, так и с числом);
• комбинированные операции присваивания (+=, -=);
• операции сравнения на равенство/неравенство;
• операции вычисления обратной и транспонированной матрицы;
• доступ к элементу по индексам.
Написать программу, демонстрирующую все разработанные элементы класса.
Что-то уже сделал. Но Дело в том, что нужно присвоить случайные значения матрица перед их сложением. Так как рандомное значение у меня формируется форме, а складываю я их классе. Пока не могу додуматься. Посоветуйте чего-нибудь.
Код класса...
Код формы...Вот еще скрин...
Понимаю, что сейчас выводит нули, потому что не присвоены значения, а как присвоить не знаю!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WindowsFormsApplication1
{
class Matrix1
{
public int[] inner = new int[5];
public Matrix1()
{
}
public Matrix1(int num)
{
for (int i = 0; i < 5; i++)
inner[i] = num;
}
public static Matrix1 operator +(Matrix1 m1, Matrix1 m2)
{
Matrix1 m3 = new Matrix1();
for (int i = 0; i < 5; i++)
{
m3.inner[i] = m1.inner[i] + m2.inner[i];
}
return m3;
}
}
}using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Matrix1 m1 = new Matrix1();
Matrix1 m2 = new Matrix1();
Matrix1 m3 = m1 + m2;
int[,] inn = new int[5,5];
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
inn[i,j] = m3.inner[i];
listView3.Items.Add(Convert.ToString(inn[i,j]));
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
double[,] m1 = new double[5, 5];
double[,] m2 = new double[5, 5];
Random a = new Random();
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
m1[i, j] = a.Next(10);
listView1.Items.Add(Convert.ToString(m1[i, j]));
}
}
Random b = new Random();
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
m2[i, j] = a.Next(10);
listView2.Items.Add(Convert.ToString(m2[i, j]));
}
}
}
}
}Решение задачи: «Описать класс, реализующий тип данных "вещественная матрица" и работу с ними»
textual
Листинг программы
class matrix
{
double[,] massiv;
public matrix(double[,] mas)
{
massiv = mas;
}
}