```csharp
using System;
using System.Windows.Forms;
namespace MatrixOperationsApp
{
public partial class MainForm : Form
{
private MatrixOperations.MatrixOperator matrixOperator;
public MainForm()
{
InitializeComponent();
matrixOperator = new MatrixOperations.MatrixOperator();
}
private void calculateButton_Click(object sender, EventArgs e)
{
// Получение размеров матриц и выбранной операции
int rows = int.Parse(rowsTextBox.Text);
int cols = int.Parse(colsTextBox.Text);
string operation = operationComboBox.SelectedItem.ToString();
// Проверка корректности ввода
if (rows <= 0 || cols <= 0)
{
MessageBox.Show("Размеры матриц должны быть положительными числами.");
return;
}
// Вызов метода для выполнения операции с матрицами
double[,] result;
try
{
switch (operation)
{
case "Сложение":
result = matrixOperator.Add(rows, cols);
break;
case "Вычитание":
result = matrixOperator.Subtract(rows, cols);
break;
case "Умножение":
result = matrixOperator.Multiply(rows, cols);
break;
default:
throw new Exception("Некорректная операция.");
}
// Вывод результата в текстовое поле
resultTextBox.Text = "Результат операции:\r\n";
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
resultTextBox.AppendText(result[i, j] + "\t");
}
resultTextBox.AppendText("\r\n");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
Реализовать операции сложения, вычитания перемножения матриц
произвольного размера. Dll библиотека должна предусматривать проверку на
невозможность выполнения определенной операции.