Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- using namespace std;
- class tablica2d{
- int szerokosc, wysokosc;
- string nazwa_tablicy;
- int *poczatek;
- public:
- tablica2d(int szer, int wys, string imie)
- {
- szerokosc=szer;
- wysokosc=wys;
- nazwa_tablicy=imie;
- int *tabliczka=new int;
- poczatek = tabliczka;
- for(int i=0; i< szerokosc*wysokosc;i++ ){
- poczatek[i]=0;
- }
- }
- tablica2d(const tablica2d& oryginal, string imie): szerokosc(oryginal.szerokosc), wysokosc(oryginal.wysokosc), nazwa_tablicy(imie), poczatek(oryginal.poczatek){}
- void wyswietl_info()
- {
- cout << szerokosc << endl << wysokosc << endl << nazwa_tablicy << endl << poczatek<< endl << endl;
- }
- void ustaw_nowe_imie_taba(string nazwa_tablicy){
- this->nazwa_tablicy = nazwa_tablicy;
- }
- void ustaw_element(int wiersz, int kolumna, int wartosc){
- poczatek[(wiersz-1)*szerokosc+(kolumna-1)] = wartosc;
- }
- int wyswietl_element(int wiersz, int kolumna)
- {
- return poczatek[(wiersz-1)*szerokosc+(kolumna-1)];
- }
- const tablica2d dodaj(const tablica2d& dodawana){
- tablica2d tab_z_dodawania(2,2,"wynik dodawania");
- for(int i=0; i< szerokosc*wysokosc;i++ ){
- tab_z_dodawania.poczatek[i] = poczatek[i] + dodawana.poczatek[i];
- }
- return tab_z_dodawania;
- }
- const ostream &wyswietl(ostream &strumien)
- {
- strumien << nazwa_tablicy << endl << "Wartosci :" << endl;
- for(int i=0; i< szerokosc*wysokosc;i++ ){
- strumien << poczatek[i] << ", ";
- }
- return strumien << endl;
- }
- friend ostream & operator<< (ostream & strumien, tablica2d tab);
- ~tablica2d()
- {
- delete[] poczatek;
- }
- };
- ostream & operator<< (ostream & strumien, tablica2d tab)
- {
- strumien << tab.nazwa_tablicy << endl << "Wartosci :" << endl;
- for(int i=1; i< tab.wysokosc+1;i++ )
- for(int j=1; j< tab.szerokosc+1;j++ )
- {
- strumien << tab.poczatek[(i-1)*tab.szerokosc+(j-1)] << ", ";
- if(j == tab.szerokosc) strumien << endl;
- }
- return strumien << endl;
- }
- ostream & operator>> ( tablica2d tab)
- {
- strumien << tab.nazwa_tablicy << endl << "Wartosci :" << endl;
- for(int i=1; i< tab.wysokosc+1;i++ )
- for(int j=1; j< tab.szerokosc+1;j++ )
- {
- strumien << tab.poczatek[(i-1)*tab.szerokosc+(j-1)] << ", ";
- if(j == tab.szerokosc) strumien << endl;
- }
- return strumien << endl;
- }
- int main()
- {
- srand(time(NULL));
- tablica2d tab(2, 2, "Franek");
- for(int i = 1; i < 3; i++)
- for(int j = 1; j < 3; j++)
- tab.ustaw_element(i,j, rand()%10);
- tablica2d kopiatab(tab, "brat blizniak Franka");
- tab.wyswietl_info();
- kopiatab.wyswietl_info();
- kopiatab.ustaw_nowe_imie_taba("Zibi");
- cout << "Zibi pokazuje element : " << kopiatab.wyswietl_element(1,1) << endl;
- tablica2d wynik=tab.dodaj(kopiatab);
- tab.wyswietl(cout);
- cout << kopiatab;
- //wynik.wyswietl(cout);
- cout << wynik;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement