andrelievable

Jipp1

Nov 9th, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5.  
  6. class Matrix; //klasa macierzy
  7. class Matrix
  8. {
  9. public:
  10.  
  11. Matrix(int, int); // domyślny konstruktor = metoda
  12. int** tab; // tworzymy wskaznik do tablicy
  13. int wers; // rozmiar wersów
  14. int kolumna; // rozmiar kolunm
  15. void wstaw(); // funkcja uzupełniająac macierz
  16. ~Matrix();
  17. void show();
  18. void substract(Matrix* M2);
  19. };
  20.  
  21. Matrix::Matrix(int size_w, int size_k) //deklaracja meotody
  22. {
  23. this->kolumna = size_k; // wskazujemy na atrybut obiektu kolumna i
  24. //przypisujemy go do argumntu size_k
  25. this->wers = size_w; //wskazujmey na atrybut obiektu wers i przypisujemy bo wartość
  26. this->tab = new int*[size_w]; // alokujemy pamiec na tablice o romiarze
  27. //size_w czyli wierszy
  28.  
  29. for (int i = 0; i < this->wers; i++) //alokujemy pamieć
  30. {
  31. for (int j = 0; j < this->kolumna; j++)
  32. {
  33. this->tab[i] = new int[size_k];
  34.  
  35. }
  36. }
  37. }
  38.  
  39. Matrix::~Matrix()
  40. {
  41. }
  42.  
  43. void Matrix::wstaw()
  44. {
  45. for (int i = 0; i < this->wers; i++) // wypelniamy macierz wersami
  46. {
  47. for (int j = 0; j < this->kolumna; j++) // jednoczesnie wypełniając
  48. //kolumny
  49. {
  50. cout << "Wartosc [" << i << "][" << j << "] ";
  51. cin >> this->tab[i][j]; //wprowadzamy z klawiruty
  52. //wartosci
  53. }
  54. }
  55. }
  56.  
  57. void Matrix::show()
  58. {
  59. cout << "\n\n" << "Macierz to:\n\n";
  60. for (int i = 0; i < this->wers; i++)
  61. {
  62. for (int j = 0; j < this->kolumna; j++)
  63. {
  64. cout << this->tab[i][j] << " ";
  65. }
  66. cout << endl;
  67. }
  68. }
  69. void Matrix::substract(Matrix* M2)
  70. {
  71. cout << "Wynik odejmowania: " << endl;
  72. for (int i = 0; i < this->wers; i++)
  73. {
  74. for (int j = 0; j < this->kolumna; j++)
  75. {
  76. cout << this->tab[i][j] - M2->tab[i][j] << " ";
  77. }
  78. cout << endl;
  79. }
  80.  
  81. }
  82.  
  83.  
  84. int main()
  85. {
  86.  
  87. Matrix* M = new Matrix(3, 2); //twozrymy obiekt klasy cyzli macierz o
  88. Matrix* M2 = new Matrix(3, 2); //rozmiarze 5x5
  89. M->wstaw(); // dla obiektu klasy M wykona się funkcja
  90. M->show();
  91. cout << "dane drugiej macierzy: " << endl;
  92. M2->wstaw(); // dla obiektu klasy M2 wykona się funkcja
  93. M2->show();
  94. M->substract(M2);
  95.  
  96. M->~Matrix();
  97. M2->~Matrix();
  98. }
Advertisement
Add Comment
Please, Sign In to add comment