ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
{
out << "Матрица" << endl;
for(int i = 0; i < ob.m; i++)
{
for(int j = 0; j < ob.n; j++)
out << ob[i][j] << "\t";
out << endl;
}
}
else
out << "Матрица пустая" << endl;
return out;
}
// оператор получения строки матрицы
template <class T> T* Matrix<T>::operator [](int i)
{
return a[i];
}
// оператор сложения двух матриц
template <class T>
Matrix<T> Matrix<T>::operator +(Matrix<T>& ob)
{
if(ob.n == n && ob.m == m)
{
Matrix<T> temp(m, n);
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
temp.a[i][j] = a[i][j] + ob.a[i][j];
return temp;
}
else
throw DimensionSumException();
}
// оператор умножения двух матриц
template <class T>
Matrix<T> Matrix<T>::operator *(Matrix<T>& ob)
{
if(n == ob.m)
{
Matrix<T> temp(m, ob.n);
for(int i = 0; i < m; i++)
for(int j = 0; j < ob.n; j++)
for(int k = 0; k < n; k++)
temp.a[i][j] = temp.a[i][j] +
a[i][k] * ob.a[k][j];
return temp;
218
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
{
out << "Матрица" << endl;
for(int i = 0; i < ob.m; i++)
{
for(int j = 0; j < ob.n; j++)
out << ob[i][j] << "\t";
out << endl;
}
}
else
out << "Матрица пустая" << endl;
return out;
}
// оператор получения строки матрицы
template T* Matrix::operator [](int i)
{
return a[i];
}
// оператор сложения двух матриц
template
Matrix Matrix::operator +(Matrix& ob)
{
if(ob.n == n && ob.m == m)
{
Matrix temp(m, n);
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
temp.a[i][j] = a[i][j] + ob.a[i][j];
return temp;
}
else
throw DimensionSumException();
}
// оператор умножения двух матриц
template
Matrix Matrix::operator *(Matrix& ob)
{
if(n == ob.m)
{
Matrix temp(m, ob.n);
for(int i = 0; i < m; i++)
for(int j = 0; j < ob.n; j++)
for(int k = 0; k < n; k++)
temp.a[i][j] = temp.a[i][j] +
a[i][k] * ob.a[k][j];
return temp;
218
Страницы
- « первая
- ‹ предыдущая
- …
- 216
- 217
- 218
- 219
- 220
- …
- следующая ›
- последняя »
