Untitled
unknown
c_cpp
a year ago
1.8 kB
3
Indexable
#include <iostream> class Macierz { public: Macierz( int n ) { if( n <= 0 ) { throw std::invalid_argument( "Rozmiar macierzy musi byc liczba calkowita dodatnia!"); } this->n = n; tab = new double* [ n ]; for( int i = 0; i < n; ++i ) { tab[ i ] = new double[ n ]; for( int j = 0; j < n; ++j ) { tab[ i ][ j ] = 0.0; } } } ~Macierz() { std::cout << "Dziala destruktor\n"; for( int i = 0; i < n; ++i ) { delete[] tab[ i ]; } delete[] tab; } void print() const { for( int i = 0; i < n; ++i ) { for( int j = 0; j < n; ++j ) { std::cout << tab[ i ][ j ] << " "; } std::cout << std::endl; } } double** tab; int n; }; int main() { try { int rozmiar = 3; Macierz macierz(rozmiar); // Wypełnienie macierzy przykładowymi danymi macierz.tab[0][0] = 1.0; macierz.tab[0][1] = 2.0; macierz.tab[0][2] = 3.0; macierz.tab[1][0] = 4.0; macierz.tab[1][1] = 5.0; macierz.tab[1][2] = 6.0; macierz.tab[2][0] = 7.0; macierz.tab[2][1] = 8.0; macierz.tab[2][2] = 9.0; // Wypisanie macierzy macierz.print(); } catch (const std::exception& e) { std::cerr << "Wyjątek: " << e.what() << std::endl; } { Macierz m1{ 15 }; } Macierz m1{ 13 }; std::cout << "Po bloku lokalnym!" << std::endl; return 0; }
Editor is loading...
Leave a Comment