www.pudn.com > roadextr.rar > SolveEquation.cpp
#include "stdafx.h" #include#include #include "SolveEquation.h" void solve (double *a,double *b,double *x,int n,int wide) { int m; double *d,*l; m= n*(n+1)/2; d=(double *) malloc(n * sizeof(double)); l=(double *) malloc((m-n) * sizeof(double)); zero (d,n); zero (l,m-n); ldltban1 (a,d,l,n,wide); ldltban2 (l,d,b,x,n,wide); free(d); free(l); } void ldltban1 (double *a,double *d,double *l,int n,int wide) { int i,j,k,kk,km,m; double *ao,*aa,*co,*c; m = wide*(2*n+1-wide)/2; c =(double *)calloc ((m-wide),sizeof(double)); ao=a; co=c; a +=wide; for (i=0; i n-wide+1) km--; a += km; } a=aa; d++; if (k==n-1) *d = *a; } a=ao; a +=wide; for (i=0; i