Untitled
unknown
c_cpp
a year ago
1.8 kB
12
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