Алгоритм компактного хранения и решения СЛАУ высокого порядка
| Категория реферата: Рефераты по математике
| Теги реферата: европа реферат, клетка реферат
| Добавил(а) на сайт: Sinaj.
Предыдущая страница реферата | 17 18 19 20 21 22 23 24 25 26 27 | Следующая страница реферата
class RVector
{ private:
Vector Buffer; public:
RVector(void) {}
~RVector() {}
RVector(DWORD Size) { Buffer.ReSize(Size); }
RVector(RVector& right) { Buffer = right.Buffer; }
RVector(Vector& right) { Buffer = right; }
DWORD Size(void) { return Buffer.Size(); } void ReSize(DWORD Size) { Buffer.ReSize(Size); } double& operator [] (DWORD i) { return Buffer[i]; }
RVector& operator = (RVector& right) { Buffer = right.Buffer; return
*this; }
RVector& operator = (Vector& right) { Buffer = right; return
*this; } void Sub(RVector&); void Sub(RVector&,double); void Mul(double); void Add(RVector&); friend double Norm(RVector&,RVector&);
};
class TSMatrix
{ private:
Vector Right;
Vector* Array;
Vector* Links; uint Dim;
DWORD Size; public:
TSMatrix(void) { Size = 0; Dim = 0; Array = NULL; Links = NULL; }
TSMatrix(Vector*,DWORD,uint);
~TSMatrix(void) { if (Array) delete [] Array; }
Vector& GetRight(void) { return Right; }
DWORD GetSize(void) { return Size; } uint GetDim(void) { return Dim; }
Vector& GetVector(DWORD i) { return Array[i]; }
Vector* GetLinks(void) { return Links; } void SetLinks(Vector* l) { Links = l; } void Add(Matrix&,Vector&); void Add(DWORD I, DWORD L, DWORD J, DWORD K, double v)
{
DWORD Row = I,
Col = L * Links[I].Size() * Dim + Find(I,J) * Dim + K;
Array[Row][Col] += v;
} void Add(DWORD I, double v)
{
Right[I] += v;
}
DWORD Find(DWORD,DWORD); void Restore(Matrix&); void Set(DWORD,DWORD,double,bool); void Set(DWORD Index1,DWORD Index2,double value)
{
DWORD I = Index1 / Dim,
L = Index1 % Dim,
J = Index2 / Dim,
K = Index2 % Dim,
Pos = Find(I,J),
Row = I,
Col;
if (Pos == DWORD(-1)) return;
Col = L * Links[I].Size() * Dim + Find(I,J) * Dim + K;
Array[Row][Col] = value;
} bool Get(DWORD Index1,DWORD Index2,double& value)
{
DWORD I = Index1 / Dim,
L = Index1 % Dim,
J = Index2 / Dim,
Рекомендуем скачать другие рефераты по теме: бесплатно рассказы, бесплатно реферат на тему.
Категории:
Предыдущая страница реферата | 17 18 19 20 21 22 23 24 25 26 27 | Следующая страница реферата