public static CMatrix operator -(CMatrix m, int k) //Переписываем оператор вычисления по заданию(отнимаем одну из строк от всех кроме нее самой) { CMatrix mat = new CMatrix(m.Rows, m.Columns); for (int i = 0; i < mat.rows; i++) { for (int j = 0; j < mat.columns; j++) { mat[i, j] = m[i, j]; } } for (int i = 0; i < k; i++) { for (int j = 0; j < mat.columns; j++) { mat[i, j] -= mat[k, j]; } } for (int i = k + 1; i < mat.rows; i++) { for (int j = 0; j < mat.columns; j++) { mat[i, j] -= mat[k, j]; } } return(mat); }
static void Main(string[] args) { CMatrix.DisplayCounter(); CMatrix matrix, K; matrix = new CMatrix(4, 4); K = new CMatrix(4, 4); CMatrix.DisplayCounter(); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { matrix[i, j] = i; K[i, j] = j; } } matrix.DisplayMatrix(); K.DisplayMatrix(); (matrix - 3).DisplayMatrix(); matrix.DisplayMatrix(); Console.ReadKey(); }
public static CMatrix operator +(CMatrix first, CMatrix second) //Переписываем оператор сложения для матриц { CMatrix mat = new CMatrix(first.Rows, first.Columns); for (int i = 0; i < mat.rows; i++) { for (int j = 0; j < mat.columns; j++) { mat[i, j] = first[i, j] + second[i, j]; } } return(mat); }
public static CMatrix operator *(CMatrix m, int t) //Оператор умножения матрицы на число { CMatrix mat = new CMatrix(m.Rows, m.Columns); for (int i = 0; i < mat.rows; i++) { for (int j = 0; j < mat.columns; j++) { mat[i, j] = m[i, j] * t; } } return(mat); }