wiktortokumpel

kaklurwator macierzy wektora

Apr 4th, 2022
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.46 KB | None | 0 0
  1. //main.ccp
  2. #include <iostream>
  3. #include "tablica.h"
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     Macierz a(2,2);
  9.     a.alokuj();
  10.     Macierz b(2,2);
  11.     b.alokuj();
  12.  
  13. //wczytanie funkcji
  14.     cout<<"podaj wartosc tablicy 1: ";
  15.     cout<<endl;
  16.     a.wczytaj();
  17.     cout<<endl;
  18.     cout<<"podaj wartosc tablicy 2: ";
  19.     cout<<endl;
  20.     b.wczytaj();
  21.  
  22. //Wyswietlanie funkcji
  23.     cout<<"tablica 1 zawiera liczby: ";
  24.     cout<<endl;
  25.     a.wyswietl();
  26.  
  27.     cout<<"tablica 2 zawiera liczby: ";
  28.     cout<<endl;
  29.     b.wyswietl();
  30.  
  31.     Macierz c=a.dodaj(b);
  32.     cout<<"Macierz wynikowa dodawania:"<<endl;
  33.     c.wyswietl();
  34.  
  35.     Macierz d=a.odejmij(b);
  36.     cout<<"Macierz wynikowa odejmowania:"<<endl;
  37.     d.wyswietl();
  38.  
  39.     return 0;
  40. }
  41.  
  42. /////////////////////////////////////////////////////////////////////////////////////////////////
  43. //tablica.ccp
  44. #include <iostream>
  45. #include "tablica.h"
  46.  
  47. Macierz::Macierz(int M, int N)
  48. {
  49.     m = M;
  50.     n = N;
  51.     int **tab;
  52. }
  53.  
  54. Macierz::~Macierz()
  55. {
  56.     delete []tab;
  57.     std::cout << "destruktor" << std::endl;
  58. }
  59.  
  60. void Macierz::alokuj()
  61. {
  62.     tab = new int*[m];         //dla tablicy 3d byĹ‚oby ***tab;
  63.     for (int i = 0; i < m; ++i)
  64.     {
  65.         tab[i] = new int[n];
  66.     }
  67. }
  68. void Macierz::wczytaj()
  69. {
  70.     for (int i = 0; i < m; ++i)
  71.     {
  72.         for (int j = 0; j < n; ++j) {
  73.             std::cin >> tab[i][j];
  74.         }
  75.  
  76.     }
  77. }
  78. void Macierz::wyswietl()
  79. {
  80.     for (int i = 0; i < m; ++i)
  81.     {
  82.         for (int j = 0; j < n; ++j) {
  83.             std::cout << tab[i][j] << " ";
  84.         }
  85.         std::cout << std::endl;
  86.     }
  87. }
  88. Macierz Macierz::dodaj (Macierz &b)
  89. {
  90.     Macierz c={m,n};
  91.     c.alokuj();
  92.  
  93.     for(int i=0;i<m;i++){
  94.         for (int j = 0; j < n; ++j) {
  95.             c.tab[i][j]=tab[i][j]+b.tab[i][j];
  96.         }
  97.     }
  98.     return c;
  99. };
  100. Macierz Macierz::odejmij (Macierz &b)
  101. {
  102.     Macierz d={m,n};
  103.     d.alokuj();
  104.  
  105.     for(int i=0;i<m;i++){
  106.         for (int j = 0; j < n; ++j) {
  107.             d.tab[i][j]=tab[i][j]-b.tab[i][j];
  108.         }
  109.     }
  110.     return d;
  111. };
  112. ////////////////////////////////////////////////////////////////////////
  113. //tablica.h
  114. #ifndef PO1_TABLICA_H
  115. #define PO1_TABLICA_H
  116.  
  117. class Macierz {
  118.     int m;
  119.     int n;
  120.     int **tab;
  121.  
  122. public:
  123.     Macierz(int M, int N);
  124.     ~Macierz();
  125.     void alokuj();
  126.     void wczytaj();
  127.     void wyswietl();
  128.     Macierz dodaj (Macierz &b);
  129.     Macierz odejmij (Macierz &b);
  130. };
  131.  
  132. #endif //PO1_TABLICA_H
  133.  
Advertisement
Add Comment
Please, Sign In to add comment