лал Л лал Регистрация 15 Сен 2013 Сообщения 81 Репутация 0 Спасибо 0 Монет 0 9 Янв 2017 #1 #include using namespace std; //Размер квадратной матрицы: const int n=3; //Класс для реализации матриц: class Matrix{ public: //Поле - двумерный массив: int matr[n][n]; //Перегрузка оператора []: int *operator[ ](int k){ return matr[k];} //Перегрузка оператора сложения +: Matrix operator+(Matrix obj){ Matrix tmp(0); for(int i=0; i < n; i++) for(int j=0; j < n; j++) tmp[j]=matr[j]+obj[j]; return tmp;} //Перегрузка оператора умножения *: Matrix operator*(Matrix obj){ Matrix tmp(0); for(int i=0; i < n; i++) for(int j=0; j < n; j++) for(int k=0; k < n; k++) tmp[j]+=matr[k]*obj[k][j]; return tmp;} //Метод для отображения значений матрицы: void show(){ for(int i=0; i < n; i++){ for(int j=0; j < n; j++){ printf("%3d",matr[j]); } cout « endl;}} //Конструктор с аргументом: Matrix(int k){ for(int i=0; i < n; i++) for(int j=0; j < n; j++) matr[j]=k; } //Конструктор с аргументом: Matrix(){ for(int i=0; i < n; i++) for(int j=0; j < n; j++) matr[j]=rand()%5-4; } }; int main(){ //Создание объектов: Matrix A,B,C(0),D(0); cout « "Matrix A: "; A.show(); cout « "Matrix B: "; B.show(); //Сумма матриц: cout « "Matrix C=A+B: "; C=A+B; C.show(); //Произведение матриц: cout « "Matrix D=A*B: "; D=A*B; D.show(); return 0;}
#include using namespace std; //Размер квадратной матрицы: const int n=3; //Класс для реализации матриц: class Matrix{ public: //Поле - двумерный массив: int matr[n][n]; //Перегрузка оператора []: int *operator[ ](int k){ return matr[k];} //Перегрузка оператора сложения +: Matrix operator+(Matrix obj){ Matrix tmp(0); for(int i=0; i < n; i++) for(int j=0; j < n; j++) tmp[j]=matr[j]+obj[j]; return tmp;} //Перегрузка оператора умножения *: Matrix operator*(Matrix obj){ Matrix tmp(0); for(int i=0; i < n; i++) for(int j=0; j < n; j++) for(int k=0; k < n; k++) tmp[j]+=matr[k]*obj[k][j]; return tmp;} //Метод для отображения значений матрицы: void show(){ for(int i=0; i < n; i++){ for(int j=0; j < n; j++){ printf("%3d",matr[j]); } cout « endl;}} //Конструктор с аргументом: Matrix(int k){ for(int i=0; i < n; i++) for(int j=0; j < n; j++) matr[j]=k; } //Конструктор с аргументом: Matrix(){ for(int i=0; i < n; i++) for(int j=0; j < n; j++) matr[j]=rand()%5-4; } }; int main(){ //Создание объектов: Matrix A,B,C(0),D(0); cout « "Matrix A: "; A.show(); cout « "Matrix B: "; B.show(); //Сумма матриц: cout « "Matrix C=A+B: "; C=A+B; C.show(); //Произведение матриц: cout « "Matrix D=A*B: "; D=A*B; D.show(); return 0;}