Advertisement
qpwoeipq1997

Untitled

Nov 11th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. #include "Macierz.h"
  2.  
  3. // Konstruktor bezparametrowy ustawiajacy wartosci naszej macierzy na 0
  4. Macierz::Macierz()
  5. {
  6. tablica = new float *[wym];
  7. for (int x = 0; x < wym; x++)
  8. {
  9. for (int y = 0; y < wym; y++)
  10. {
  11. tablica[x][y] = 0;
  12. }
  13. }
  14. }
  15.  
  16. // KOnstruktor kopiujace wartosci jednej macierzy do drugiej odpowiednich wymiarow
  17. Macierz::Macierz(const macierz& m) {
  18. for (int x = 0; x < wym; x++)
  19. {
  20. for (int y = 0; y < wym; y++)
  21. {
  22. m.macierz[x][y] = macierz[x][y];
  23. }
  24. }
  25. }
  26.  
  27. // Dekonstruktor
  28. Macierz::~Macierz() {
  29. for (int x = 0; i < wym; x++)
  30. delete[] tablica[i];
  31. delete[] tablica;
  32. }
  33.  
  34. // Setter ustawiajacy odpowiednie wartosci we wskazanych miejscach
  35. Macierz::void set(int p1, int p2, float w) {
  36.  
  37. for (int x = 0; x < wym; x++)
  38. {
  39. for (int y = 0; y < wym; y++)
  40. {
  41. if ((p1 == x) && (p2 == y))
  42. {
  43. w = tablica[x][y];
  44. }
  45. }
  46. }
  47. }
  48.  
  49. // Metoda porownujaca dwie macierze, zwraca prawde lub falsz w zaleznosci od wyniku porownania
  50. bool Macierz::operator==(const Macierz & m)
  51. {
  52. bool ans;
  53.  
  54. for (int x = 0; x < wym; x++)
  55. {
  56. int test = 0;
  57. for (int y = 0; y < wym; y++)
  58. {
  59. if (tablica[x][y] == m.tablica[x][y])
  60. test++;
  61. }
  62. if (!test)
  63. ans = true;
  64. return ans;
  65. }
  66. }
  67.  
  68. // Przeciaznie operatora +
  69. Macierz::Macierz operator+(const Macierz & m) const
  70. {
  71.  
  72. for (int x = 0; x < wym; x++)
  73. {
  74. for (int y = 0; y < wym; y++)
  75. {
  76. if ((p1 == x) && (p2 == y))
  77. {
  78. w = tablica[x][y];
  79. }
  80. }
  81. }
  82. }
  83.  
  84. // Przeciazanie operatora *
  85. Macierz operator*(const Macierz & m)
  86. {
  87. float *wskaznik = &zmienna;
  88. Macierz *macierz_ = new Macierz();
  89.  
  90. tym =Macierz[0][0] * m.tablica[0][0] + macierz[0][0] * m.tablica[1][0];
  91. wynik->set(0, 0, tym);
  92.  
  93. tym = Macierz[0][0] * m.tablica[0][1] + macierz[0][1] * m.tablica[1][1];
  94. wynik->set(0, 1, tym);
  95.  
  96. tym = Macierz[1][0] * m.tablica[0][0] + macierz[1][1] * m.tablica[1][0];
  97. wynik->set(1, 0, tym);
  98.  
  99. tym = Macierz[1][0] * m.tablica[0][1] + macierz[1][1] * m.tablica[1][1];
  100. wynik->set(1, 1, tym)
  101.  
  102. return *macierz_;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement