#include float determinant33(float a[3][3]) { float determinant=a[0][0]*a[1][1]*a[2][2]+ a[1][0]*a[2][1]*a[0][2]+ a[0][1]*a[1][2]*a[2][0]- a[2][0]*a[1][1]*a[0][2]- a[0][1]*a[1][0]*a[2][2]- a[1][2]*a[2][1]*a[0][0]; return determinant; } void Cramer(float u[3][3], float v[3], float &a, float &b, float &c) { float d,d1,d2,d3; float t[3][3]; d=determinant33(u); int i; for(i=0;i<3;i++) { t[i][0]=v[i]; t[i][1]=u[i][1]; t[i][2]=u[i][2]; } d1=determinant33(t); for(i=0;i<3;i++) { t[i][0]=u[i][0]; t[i][1]=v[i]; t[i][2]=u[i][2]; } d2=determinant33(t); for(i=0;i<3;i++) { t[i][0]=u[i][0]; t[i][1]=u[i][1]; t[i][2]=v[i]; } d3=determinant33(t); a=d1/d; b=d2/d; c=d3/d; }