background image

Dana jest klasa Macierz, która zawiera w sobie tablice 2D o rozmiarze podanym w parametrze konstruktora

Uzupełnić program o brakujące elementy:

!!!   

NIE

 MODYFIKOWAĆ ZAWARTOŚCI FUNKCJI  main( )  i wyswietlInfoMacierz( ) !!!

Temat 4

KONSTRUKTORY i DESTRUKTOR

void wyswietlInfoMacierz( ){
    // wyswietla ilosc obiektow aktywnych Macierzy, które zostaly stworzone i istnieja nadal (nie zostaly skasowane)
    cout << ”Aktywnych obiektow Macierz = ” << Macierz::ileAktywnychObiektowMacierz() << endl;

    // wyswietla ilosc obiektow Macierz, które kiedykolwiek zostaly stworzone (mogą już nie istniec)
    cout << ”Ilosc dotychczas stworzonych obiektow Macierz =” << Macierz::ileDotychczasStworzonych() << endl;
}

int main(){
    const unsigned short int uSize = 5;

    wyswietlInfoMacierz( );

    Macierz  

mac1( uSize, uSize

);

    Macierz 

mac2( mac1

);

    Macierz 

mac3( &mac2

);

    wyswietlInfoMacierz( );

    Macierz* 

pmac1  = new Macierz(uSize, uSize);

// tworzy obiekt macierz zawierający mac o rozm uSize x uSize

    Macierz* 

pmac2 = mac1.kopia( ); 

// zawraca kopie idealną macierzy mac1

    wyswietlInfoMacierz( );

// funkcja dodaje do macierzy mac1 zawartosc macierzy pmac1

    mac1.dodaj(pmac1);

// mac1[i][j] += (*pmac)[i][j] → element po elemencie

    mac2.dodaj(*pmac1);

// jw. *pmac1 przez referencje

    wyswietlInfoMacierz( );
    

// funkcja zwraca nowa macierz bedaca suma mac1 i mac2 (co do zawartosci

    Macierz mac4 = mac1.suma( &mac2 );

// mac4[i][j] = mac1[i][j] + mac2[i][j];

    wyswietlInfoMacierz( );

    pmac1->zmien( 1,  2 ) = ((float)uSize)/3.0f;

// zmienia zawartość elementu macierzy (1, 2) na ...

    
    pmac1->wyswietl();

// wyswietla zawartośc macierzy na ekranie, w formacie:

    mac4.wyswietl();

// mac[0][0] = wartość1

    

// mac[0][1] = wartość2
// mac[i][j]  ...

    wyswietlInfoMacierz( );

    delete pmac1;

// wywolywany jest destruktor obiektu pmac1;

    wyswietlInfoMacierz( );

    delete pmac2;
    wyswietlInfoMacierz( );

   return 0;
}

}