Пример
~Vector() { delete data;
} cout << "Destroyed vector!" << endl;
double getEl(int idx) const { } return data[idx];
void SetEl(int idx, double val) { };} data[idx] = val;
void Vector::fill() {
}
for (int i=0; i<n; i++) data[i] = rand() % 10 + 1;
Пример
//Получить модуль вектора void Vector::calc() {
double sum = 0;
for (int i=0; i<n; i++) sum += data[i]*data[i];
} result = sqrt(sum);
//Матрица: N строк и M столбцов class Matrix : public MathEntity { protected:
double *data; int n, m; void fill(); void calc();
Пример
public:
Matrix(int n, int m) : n(n), m(m) { data = new double[n*m];
fill(); calc(); setResName("Geometric mean");
cout << "Created matrix!" << endl; } ~Matrix() {
delete data;
} cout << "Destroyed matrix!" << endl;
double getEl(int i, int j) const { } return *(data + i*m + j);
void SetEl(int i, int j, double val) { };} *(data + i*m +j) = val;
Пример
void Matrix::fill() {
for (int i=0; i<n; i++) for (int j=0; j<m; j++)
}
*(data + i*m + j) = rand() % 10 + 1;
// Получить среднее геометрическое void Matrix::calc() {
double prod = 1;
for (int i=0; i<n; i++) for (int j=0; j<m; j++)
prod*=*(data + i*m + j); } result = pow(prod, 1./(m*n));