copy; * b; * result; * delta; k=0.2; in ( in.txt ); gt; gt; SIZE;=new double * [SIZE];=new double * [SIZE]; (int i=0; i lt; SIZE; i ++) {[i]=new double [SIZE]; [i]=new double [SIZE ];
} ** D=new double * [SIZE]; (int i=0; i lt; SIZE; i ++) [i]=new double [SIZE]; (int i=0; i lt; SIZE; i ++) (int j=0; j lt; SIZE; j ++) gt; gt; D [i] [j]; ** C=new double * [SIZE]; (int i=0; i lt; SIZE; i ++) [i]=new double [SIZE]; (int i=0; i lt ; SIZE; i ++) (int j=0; j lt; SIZE; j ++) gt; gt; C [i] [j]; (int i=0; i lt; SIZE; i ++) (int j=0; j lt; SIZE; j ++) {[i] [j]=D [i] [j] + C [i] [j] * k; [i] [j]=A [i] [j];
}=new double [SIZE];=new double [SIZE];=new double [SIZE]; (int i=0; i lt; SIZE; i ++) { gt; gt; b [i]; [i]=b [i];
} (int i=0; i lt; SIZE; ++ i) {(A [i] [i]!=0) {[i] /=A [i] [i] ; (int j=SIZE - 1; j gt;=i; --j) {[i] [j] /=A [i] [i];
}
} {0;
} (int j=i + 1; j lt; SIZE; ++ j) {(int k=i; k lt; SIZE; k ++) {(i == k); [j ] [k] -=A [j] [i] * A [i] [k];
} [j] -=result [i] * A [j] [i]; [j] [i]=0;
}
} (int j=SIZE - 1; j gt;=0; j -) {(int i=0; i lt; j; i ++) {[i] -=A [i ] [j] * result [j]; [i] [j]=0;
}
} out ( out.txt ); * f=fopen ( out.txt raquo ;, w ); (int i=0; i lt; SIZE; i ++) {[i]=round (result [i] * 100000)/100000;
} (int i=0; i lt; SIZE; i ++) (f, %. 5lf n raquo ;, result [i]); (int i=0; i lt; SIZE ; i ++) (int j=0; j lt; SIZE; j ++) {sum=0; (int k=0; k lt; SIZE; k ++) +=copy [i] [k] * result [k]; [i]=abs (b [i] - sum);
} (int i=0; i lt; SIZE; i ++) (f, n% .10lf raquo ;, delta [i]); (f);
}
У результаті отримали X:
. 9169573287
. 2508817999
. 1237128647
. 0277923094
. 0872656987
. 2322239583
Округляючи до п'яти знаків після коми:
. 91696
. 25088
. 12371
. 02779
. 08727
. 23222
При обчисленні AX - B, де X - округлені дані, отримаємо:
. 0000061000
. 0000061000
. 0000057000
. 0000022000
. 0000035000
. 0000031000