ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
{
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; } // оператор получения строки матрицы templateT* 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
- …
- следующая ›
- последняя »