#include <iostream>
using namespace std;
class Sqmatrix {
int x;
int **elem;
public:
Sqmatrix();//конструктор по умолчанию
Sqmatrix(int x);//конструктор с пользовательскими параметрами
~Sqmatrix(); //деструктор
void show();
void opred();
void transpor();
void delet();
};
int main() {
Sqmatrix **arr = new Sqmatrix*[20];
arr[0] = new Sqmatrix();
arr[0]->show();//проверка конструктора
for (int i = 0; i <1; i++) {
delete[]arr[i];
}
delete[] arr;
return 0;
}
Sqmatrix::Sqmatrix() :x(2), elem(new int *[x]) { //по умолчанию создаем матрицу 2х2 заполненную числами 1, 2, 3, 4
for (int i = 0; i < x; i++) {
elem[i] = new int[x];
}
for (int i = 0; i < x; i++) {
for (int j = 0; j < x; j++) {
elem[i][j] = j + i * 2 + 1;
}
}
}
Sqmatrix::Sqmatrix(int x) { //матрица по данным ползователя
this->x = x;
elem = new int *[x];
for (int i = 0; i < x; i++) {
elem[i] = new int[x];
}
for (int i = 0; i < x; i++) {
for (int j = 0; j < x; j++) {
cout << "Введите элемент a" << i + 1 << j + 1 << endl;
cin >> elem[i][j];
}
}
}
Sqmatrix::~Sqmatrix() {
for (int i = 0; i < x; ++i) {
delete[]elem[i];
}
delete[] elem;
}
void Sqmatrix::show() {
for (int i = 0; i < x; i++) {
for (int j = 0; j < x; j++) {
cout << elem[i][j] << "\t";
}
cout << endl;
}
}
void Sqmatrix::delet() {
for (int i = 0; i < x; ++i) {
delete[]elem[i];
}
delete[] elem;
}