Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lect07.pdf
Скачиваний:
6
Добавлен:
06.02.2016
Размер:
421.2 Кб
Скачать

Пример

~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));

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]