どの関数がより速く動作するか教えていただけますか? あるいは、どちらも間違っていて、これを行うためのより良い方法を知っているかもしれません。前もって感謝します。
double* solveDiagonal(double* A, double* B, int n)
{
double* X = new double[n];
for(int i = 0; i < n; i++)
X[i] = B[i] / A[i*n + i];
return X;
}
double* solveDiagonal(double* A, double* B, int n)
{
double* X = new double[n];
double** pA = new double*[n];
for(int i = 0; i < n; i++)
pA[i] = &A[i*n];
for(int i = 0; i < n; i++)
X[i] = B[i] / pA[i][i];
delete [] pA;
return X;
}