#include #include #include using namespace std; struct Matrix //объявление структуры квадратной матрицы { //элементы данные int **matrix; //указатель на двумерный динамический массив (адрес начала памяти, выделенной для матрицы) int n; // размерность матрицы void SetMatrix(int dim) //установка размерности и инициализация единичной квадратной матрицы { n=dim; //запомнить размерность матрицы matrix=new int*[n]; //память под указатели на строки матрицы for (int i=0;imatrix[i][j]=matrix[i][j]+b.matrix[i][j]; return *temp; } Matrix& operator *(const Matrix &b)// перегрузка оператора умножения { assert(n==b.n);//функция сообщения об ошибке C++, если n!=b.n, т.е. размерности матриц не совпадают Matrix *temp=new Matrix(*this); for (int i=0;imatrix[i][j]=0; for (int k=0;kmatrix[i][j]+=matrix[i][k]*b.matrix[k][j]; //поэлементное умножение строки на столбец } return *temp; } bool operator >(const Matrix &b) const // перегрузка оператора "больше" { assert(n==b.n);//функция сообщения об ошибке C++, если n!=b.n, т.е. размерности матриц не совпадают double d1=DetMatrix(); //определитель первой матрицы double d2=b.DetMatrix(); //определитель второй матрицы return (d1>d2); } bool operator ==(const Matrix &b) const // перегрузка оператора "равно" { assert(n==b.n);//функция сообщения об ошибке C++, если n!=b.n, т.е. размерности матриц не совпадают double d1=DetMatrix(); //определитель первой матрицы double d2=b.DetMatrix(); //определитель второй матрицы return (d1==d2); } void TranspMatrix() //транспонирование матрицы { for (int i=0;i>dim; Matrix A(dim); //матрица для вычисления определителя, транспонирования, первая матрица для + и * Matrix B(A); //вторая матрица для + и * создается через конструктор копирования Matrix C(A); //матрица результата для + и * создается через конструктор копирования do { cout<>choice; switch(choice) { case 1: //вычисление определителя матрицы A cout<<"Matrix A"<>i; cout<<"Input column A (0-"<>j; cout<<"Input value "; cin>>A.matrix[i][j]; cout<<"Matrix A"<>i; cout<<"Input column B (0-"<>j; cout<<"Input value "; cin>>B.matrix[i][j]; cout<<"Matrix B"<B) cout< "<