В классе не могут быть два конструктора с одинаковыми списками параметров, т. к. при этом различить их невозможно. Использование конструкторов иллюстрируется программой на листинге 10.
Листинг 10
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include "tvector.h"
void main()
{
// описание данных
int i;
TVector X,
Y(5,1.0),
Z(7,-10.0,10.0);
// вывод векторов
clrscr();
cout<<"Вектор X"<<endl<<endl;
X.OutVec(0,6,2);
getch();
cout<<endl;
cout<<"Вектор Y"<<endl<<endl;
Y.OutVec(0,6,2);
getch();
cout<<endl;
cout<<"Вектор Z"<<endl<<endl;
Z.OutVec(0,6,2);
getch();
}
1. Дополнить класс TVector методами:
1.1. doubleMean(void) для вычисления среднего значения элементов вектора;
1.2. doubleStdDev(void) для вычисления среднеквадратичного отклонения элементов вектора;
1.3. doubleMin(int& Imin) для поиска минимального значения;
1.4. doubleMax(int& Imax) для поиска максимального значения;
1.5. voidSortUp(void) для сортировки элементов по возрастанию;
1.6. voidSortDown(void) для сортировки элементов по убыванию;
Все разрабатываемые методы должны работать с данными класса. Поэтому в списке их параметров не должно быть входных векторов.
Разработать соответствующие управляющие программы и проверить работу методов.
2. По аналогии с классом TVector разработать класс TMatrix с закрытыми данными и аналогичными методами InpMat(),OutMat(),SetMat(),GetMat(),AddMat(),SubMat(),MultMat(), а также с методом умножения матрицы на вектор MultMatVec(). Снабдить класс конструкторами, аналогичными конструкторам класса TVector.
Разработать соответствующие управляющие программы и проверить работу всех методов.
3. По аналогии с классом TVector разработать класс TMatrix с закрытыми данными и аналогичными методами InpMat(),OutMat(),SetMat(),GetMat(), а также операциямисложения + ,вычитания –,умножения * матрицы на матрицу и умножения * матрицы на вектор. Снабдить класс конструкторами, аналогичными конструкторам класса TVector.
Разработать соответствующие управляющие программы и проверить работу методов.
4. Дополнить класс TMatrix методами:
4.1. voidUnitMat(intcomp) для формирования единичной матрицы;
4.2. double NormMat(void)для расчета нормы матрицы;
4.3. double MeanMat(void)для расчета среднего значения элементов матрицы;
4.4. double StdDevMat(void)для расчета среднеквадратичного отклонения элементов матрицы;
4.5. TMatrix DegMat(int m)для возведение квадратной матрицы в целую степень m;
4.6. doubleDetMat(void)для расчета определителя матрицы;
4.7. TMatrixInvMat(void)для нахождения обратной матрицы;
В качестве образцов следует использовать соответствующие функции модуля Matrix.
Разработать соответствующие управляющие программы и проверить работу методов.
1. Березин Б.И., Березин С.Б. Начальный курс С и С++. М.: Диалог-МИФИ, любой год издания.
2. Подбельский В.В. Язык С++. М.: Финансы и статистика, любой год издания.
3. Архангельский А.Я. Программирование в С++ Builder 5 (6) – M: ЗАО «Издательство БИНОМ», 2001 - .
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.