andrelievable

matrix

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