Алгоритм компактного хранения и решения СЛАУ высокого порядка
| Категория реферата: Рефераты по математике
| Теги реферата: европа реферат, клетка реферат
| Добавил(а) на сайт: Sinaj.
Предыдущая страница реферата | 17 18 19 20 21 22 23 24 25 26 27 | Следующая страница реферата
NPoint,
NLink,
Pos;
Res.ReSize(Arr.Size()); for (i = 0; i < Size; i++) for (j = 0; j
{
NRow = j / (Array[i].Size() / Dim);
NPoint = (j - NRow * (Array[i].Size() / Dim)) / Dim;
NLink = j % Dim;
Pos = Links[i][NPoint];
Res[i * Dim + NRow] += Arr[Pos * Dim + NLink] * Array[i][j];
}
}
double TSMatrix::Mul(DWORD Index,RVector& Arr)
{
DWORD j,
I = Index / Dim,
L = Index % Dim,
Start = L * (Array[I].Size() / Dim),
Stop = Start + (Array[I].Size() / Dim),
NRow,
NPoint,
NLink,
Pos; double Res = 0;
for (j = Start; j < Stop; j++)
{
NRow = j / (Array[I].Size() / Dim);
NPoint = (j - NRow * (Array[I].Size() / Dim)) / Dim;
NLink = j % Dim;
Pos = Links[I][NPoint];
Res += Arr[Pos * Dim + NLink] * Array[I][j];
} return Res;
}
void TSMatrix::write(ofstream& Out)
{
DWORD ColSize;
Out.write((char*)&(Dim),sizeof(DWORD));
Out.write((char*)&(Size),sizeof(DWORD)); for (DWORD i = 0; i < Size; i++)
{
ColSize = Array[i].Size();
Out.write((char*)&(ColSize),sizeof(DWORD)); for (DWORD j = 0; j < ColSize; j++)
Out.write((char*)&(Array[i][j]),sizeof(double));
} for (DWORD i = 0; i < Size * Dim; i++)
Out.write((char*)&(Right[i]),sizeof(double));
}
void TSMatrix::read(ifstream& In)
{
DWORD ColSize;
In.read((char*)&(Dim),sizeof(DWORD));
In.read((char*)&(Size),sizeof(DWORD)); if (Array) delete [] Array;
Array = new Vector[Size];
Right.ReSize(Size * Dim); for (DWORD i = 0; i < Size; i++)
Рекомендуем скачать другие рефераты по теме: бесплатно рассказы, бесплатно реферат на тему.
Категории:
Предыдущая страница реферата | 17 18 19 20 21 22 23 24 25 26 27 | Следующая страница реферата