Advertisement
Paszta

Obiektówka - Tablica2D troche dopisane ale nadal nie dziala

Oct 30th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.31 KB | None | 0 0
  1. #include <iostream>
  2. #include <time.h>
  3. using namespace std;
  4.  
  5. class tablica2d{
  6.     int szerokosc, wysokosc;
  7.     string nazwa_tablicy;
  8.     int *poczatek;
  9.  
  10. public:
  11.  
  12.     tablica2d(int szer, int wys, string imie)
  13.     {
  14.         szerokosc=szer;
  15.         wysokosc=wys;
  16.         nazwa_tablicy=imie;
  17.         int *tabliczka=new int;
  18.         poczatek = tabliczka;
  19.         for(int i=0; i< szerokosc*wysokosc;i++ ){
  20.             poczatek[i]=0;
  21.         }
  22.     }
  23.     tablica2d(const tablica2d& oryginal, string imie): szerokosc(oryginal.szerokosc), wysokosc(oryginal.wysokosc), nazwa_tablicy(imie), poczatek(oryginal.poczatek){}
  24.     void chuj()
  25.     {
  26.         cout << szerokosc << endl << wysokosc << endl << nazwa_tablicy << endl << poczatek<< endl << endl;
  27.     }
  28.     void ustaw_nowe_imie_taba(string nazwa_tablicy){
  29.         this->nazwa_tablicy = nazwa_tablicy;
  30.     }
  31.  
  32.     void ustaw_element(int wiersz, int kolumna, int wartosc){
  33.         poczatek[(wiersz-1)*szerokosc+(kolumna-1)] = wartosc;
  34.     }
  35.     int poka_chuja(int wiersz, int kolumna)
  36.     {
  37.         return poczatek[(wiersz-1)*szerokosc+(kolumna-1)];
  38.     }
  39.  
  40.     const tablica2d dodaj(const tablica2d& dodawana){
  41.         tablica2d tab_z_dodawania(2,2,"wynik dodawania");
  42.         for(int i=0; i< szerokosc*wysokosc;i++ ){
  43.             tab_z_dodawania.poczatek[i] = poczatek[i] + dodawana.poczatek[i];
  44.         }
  45.         return tab_z_dodawania;
  46.     }
  47.     const ostream &wyswietl(ostream &strumien)
  48.     {
  49.         strumien << nazwa_tablicy << endl << "Wartosci :" << endl;
  50.         for(int i=0; i< szerokosc*wysokosc;i++ ){
  51.             strumien << poczatek[i] << ", ";
  52.         }
  53.         return strumien << endl;
  54.     }
  55.     ~tablica2d()
  56.     {
  57.         delete[] poczatek;
  58.     }
  59.  
  60. };
  61.  
  62. int main()
  63. {
  64.     srand(time(NULL));
  65.     tablica2d tab(2, 2, "Franek");
  66.     for(int i = 1; i < 3; i++)
  67.         for(int j = 1; j < 3; j++)
  68.             tab.ustaw_element(i,j, rand()%10);
  69.     tablica2d kopiatab(tab, "brat blizniak Franka");
  70.     tab.chuj();
  71.     kopiatab.chuj();
  72.     kopiatab.ustaw_nowe_imie_taba("Zibi");
  73.     cout << "Zibi pokazuje chuja : " << kopiatab.poka_chuja(1,1) << endl;
  74.     tablica2d wynik=tab.dodaj(kopiatab);
  75.     tab.wyswietl(cout);
  76.     kopiatab.wyswietl(cout);
  77.     wynik.wyswietl(cout);
  78.     wynik.~tablica2d();
  79.     wynik.wyswietl(cout);
  80.  
  81.     return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement