| Код | #include <stdio.h> #include <conio.h> #include <math.h> #include <iostream.h>
main() { clrscr();
float a[11][11], b[11], x[11], t; int i, j, k, m, n;
n=3; a[1][1]= 5.6; a[1][2]= 2.7; a[1][3]=-1.7; b[1]= 1.9; a[2][1]= 3.4; a[2][2]=-3.6; a[2][3]=-6.7; b[2]=-2.4; a[3][1]= 0.8; a[3][2]= 1.3; a[3][3]= 3.7; b[3]= 1.2;
cout << "\n\n"; for (i=1; i<=n; i++) { for (j=1; j<=n; j++) cout << a[i][j] << " "; cout << b[i] << "\n"; }
double eps=.000001; double max; int max_i; double lead, a_div_lead;
for(k=1; k<=n; k++) {
max=0; max_i=-1;
for(int i=k; i<=n; i++) { if(fabs(a[i][k])>max) { max=fabs(a[i][k]); max_i=i; } }
if(max_i==-1 || fabs(a[max_i][k])<eps) { cout << "\n\n" << "Error: det=0" << "\n\n"; break; }
lead=a[k][k];
for(j=k; j<=n; j++) a[k][j]/=lead; b[k]/=lead;
for(i=1; i<=n; i++) { a_div_lead=a[i][k]/a[k][k];
if(i!=k) { for(j=k; j<=n; j++) a[i][j]-=a[k][j]*a_div_lead; b[i]-=b[k]*a_div_lead; } } }
cout << "\n\n"; for (i=1; i<=n; i++) { for (j=1; j<=n; j++) cout << a[i][j] << " "; cout << b[i] << "\n"; }
getch(); }
|
|