Advertisement
noler89

Untitled

May 22nd, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. #ifndef MATRIX_H
  2. #define MATRIX_H
  3. #include<iostream>
  4. using namespace std;
  5. template <class T>
  6. class matrix{
  7. public:
  8. int Row, Col;
  9. T **value;
  10. matrix(){
  11. cout << "Enter dimention: raws, cols" << endl;
  12. cin >> Row >> Col;
  13. cout << "Enter matrix elements:" << endl;
  14. value = new T *[Row];
  15. for (int i = 0; i<Row; i++)
  16. value[i] = new T [Col];
  17.  
  18. for (int i = 0; i<Row; i++)
  19. for (int j = 0; j<Col; j++){
  20. cin >> value[i][j];
  21. }
  22. }
  23. matrix(int row, int col){
  24. Row = row;
  25. Col = col;
  26. value = new T *[Row];
  27. for (int i = 0; i<Row; i++)
  28. value[i] = new T[Col];
  29. for (int i = 0; i < Row; i++)
  30. for (int j = 0; j < Col; j++)
  31. value[i][j] = 0;
  32. }
  33. friend matrix operator+(matrix<T> &m1, matrix<T> &m2){
  34. int Row = m1.Row;
  35. int Col = m2.Col;
  36. matrix<T> temp(Row, Col);
  37. for (int i = 0; i<Row; i++)
  38. for (int j = 0; j<Col; j++)
  39. temp.value[i][j] = m1.value[i][j] + m2.value[i][j];
  40. return temp;
  41. };
  42. friend matrix operator-(matrix<T> &m1, matrix<T> &m2){
  43. int Row = m1.Row;
  44. int Col = m2.Col;
  45. matrix<T> temp(Row, Col);
  46. for (int i = 0; i<Row; i++)
  47. for (int j = 0; j<Col; j++)
  48. temp.value[i][j] = m1.value[i][j] - m2.value[i][j];
  49. return temp;
  50. };
  51. friend matrix operator*(matrix<T> &
  52. m1, matrix<T> &m2){
  53. int Row = m1.Row;
  54. int Col = m2.Col;
  55. matrix<T> temp(Row, Col);
  56. for (int i = 0; i < Row; i++)
  57. for (int j = 0; j < Col; j++)
  58. for (int t = 0; t < Row; t++)
  59. temp.value[i][j] += m1.value[i][t] * m2.value[t][j];
  60. return temp;
  61. }
  62. void Tr(matrix<T>&m1){
  63. for (int i = 0; i < Row; i++)
  64. for (int j = 0; j < Col; j++)
  65. m1.value[i][j] = value[j][i];
  66. }
  67. void print(){
  68. for (int i = 0; i < this->Row; i++) {
  69. for (int j = 0; j < this->Col; j++)
  70. cout << this->value[i][j] << " ";
  71. cout << endl;
  72. }
  73. }
  74. };
  75. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement