] [j] = a [i] [j]-b [i] [j];
}
}
}
}
// різницю векторів кінець
// множення вектора на скаляр началоScalar (int n, int ** mask, double ** a, double ** b)
{
double tmp = 0;
for (int i = 0; i <= n; i + +)
{
for (int j = 0; j <= n; j + +)
{
if (mask [i] [j]! = FictivePoint)
{
tmp = tmp + a [i] [j] * b [i] [j];
}
}
}
return tmp;
}
// множення вектора на скаляр кінець
// обчислення норми вектора началоNorm (int n, int ** mask, double ** a)
{
double tmp = 0;
for (int i = 0; i <= n; i + +)
{
for (int j = 0; j <= n; j + +)
{
if (mask [i] [j]! = FictivePoint)
{
tmp = tmp + a [i] [j] * a [i] [j];
}
}
}
tmp = sqrt (tmp);
return tmp;
}
// обчислення норми вектора кінець
// вивід началоprint (int n, double ** a, double * f)
{
fprintf (file, " n");
for (int i = 0; i <= n-1; i + +)
{
for (int j = 0; j <= n-1; j + +)
{
fprintf (file, "% 5.0lf", a [i] [j]);
}
fprintf (file, "|% 5.0lf n", f [i]);
}
fprintf (file, " n");
}
// вивід кінець
// копіювання вектора у вектор началоcopy (int n, double ** a, double ** b)
{
for (int i = 0; i <= n; i + +)
{
for (int j = 0; j <= n; j + +)
{
b [i] [j] = a [i] [j];
}
}
return 0;
}
// копіювання вектора у вектор кінець
main ()
{
int n = 0, ** mask, count_it = 0;
double ** u, ** u_accur, ** f,
** res_S, ** res_A,
norm_r =...