#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;}
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;}