Добавил:
AiSora
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Матричный калькулятор / class
.cpp#include "lib.h"
void Matrix::Create()
{
Matr = new long int*[p];
for (int i = 0; i < p; i++)
{
Matr[i] = new long int[p];
for (int j = 0; j < p; j++)
Matr[i][j] = 0;
}
}
Matrix::Matrix()
{
p = n;
Create();
}
Matrix::~Matrix()
{
for (int i = 0; i < p; i++)
delete [] Matr[i];
delete [] Matr;
}
void Matrix::Sum(Matrix *A, Matrix *B)
{
for (int i = 0; i < p; i++)
for (int j = 0; j < p; j++)
Matr[i][j] = A->Matr[i][j] + B->Matr[i][j];
}
void Matrix::Mult(Matrix *A,Matrix *B)
{
for (int i = 0; i < p; i++)
for (int j = 0; j < p; j++)
for (int k = 0; k < p; k++)
Matr[i][j] += A->Matr[i][k] * B->Matr[k][j];
}
void Matrix::Reset()
{
for (int i = 0; i < p; i++)
for (int j = 0; j < p; j++)
Matr[i][j] = 0;
}
void Matrix::Print()
{
for (int i = 0; i < p; i++)
{
for (int j = 0; j < p; j++)
cout << Matr[i][j] << " ";
cout << endl;
}
}
void Matrix::Push()
{
cout << "Заполните матрицу:\n";
for (int i = 0; i < p; i++)
for (int j = 0; j < p; j++)
cin >> Matr[i][j];
cout << endl;
}
int menu()
{
int point;
cout << "____Меню____\n"
<< "1. Сумма матриц\n"
<< "2. Произведение матриц\n"
<< "0. Выход из программы\n\n"
<< ">> ";
cin >> point;
return point;
}
void PrintMatrix(Matrix*A, Matrix*B, Matrix*R)
{
R->Reset();
cout << "\nПервая матрица:\n";
A->Print();
cout << "\nВторая матрица:\n";
B->Print();
cout << "\nРезультат:\n";
}