Перегрузка оператора умножения для матрицы - C#
Формулировка задачи:
Помогите пожалуйста! Нужно на этой неделе сдать работу, никак не могу разобраться. Вот имею даный код, но он чего-то не работает, посмотрите пожалуста!
using System;
namespace Lab8
{
class Matrix
{
public int lines;
public int columns;
public int[,] matrix;
public int this[int i]
{
get
{
if (i == 1) return lines;
else if (i == 2) return columns;
else return 0;
}
set
{
if (i == 1) lines = value;
else if (i == 2) columns = value;
}
}
public Matrix(int lines, int columns)
{
Random R = new Random();
matrix = new int[lines, columns];
for (int i = 0; i < lines; i++)
{
for (int j = 0; j < columns; j++)
{
matrix[i, j] = R.Next(9);
}
}
}
public static Matrix operator *(Matrix Matrix1, Matrix Matrix2)
{
Matrix Matrix3 = new Matrix(Matrix1.lines, Matrix1.columns);
Matrix3.lines = Matrix1.lines;
Matrix3.columns = Matrix1.columns;
for (int i = 0; i < Matrix3.lines; i++)
{
for (int j = 0; j < Matrix3.columns; j++)
{
Matrix3.matrix[i, j] = 0;
}
}
for (int i = 0; i < Matrix1.lines; i++)
{
for (int j = 0; j < Matrix2.columns; j++)
{
for (int k = 0; k < Matrix2.lines; k++)
{
Matrix3.matrix[i, j] += Matrix1.matrix[i, k] * Matrix2.matrix[k, j];
}
}
}
return Matrix3;
}
public override string ToString()
{
string st ="";
for (int i = 0; i < lines; i++)
{
for (int j = 0; j < columns; j++)
{
st+=(this.matrix[i, j])+" ";
}
Console.WriteLine(" ");
}
return st;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter the number of lines in matrix: ");
int lines = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Enter the number of columns in matrix: ");
int columns = Convert.ToInt16(Console.ReadLine());
Matrix NewMatrix1 = new Matrix(lines, columns);
Matrix NewMatrix2 = new Matrix(lines, columns);
Console.WriteLine(NewMatrix1);
Console.WriteLine(NewMatrix2);
Console.WriteLine(NewMatrix1 * NewMatrix2);
Console.ReadKey();
}
}
}Решение задачи: «Перегрузка оператора умножения для матрицы»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string input = @"qwajkctyfgqazkc";
string pattern = @"a\Skc";//
Console.WriteLine("Совпадений: " + Regex.Matches(input,pattern,RegexOptions.IgnoreCase).Count);
Console.ReadKey();
}
}
}