Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Gauss:
- #include <iostream>
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- using namespace std;
- float Gauss(int n,float A[][4],float B[],float X[]){
- int i,k,j;
- float m,d;
- for(i=1;i<=n-1;i++)
- for(k=i+1;k<=n;k++)
- {m=A[k][i]/A[i][i];
- for(j=i;j<=n;j++) A[k][j]=A[k][j]-m*A[i][j];
- B[k]=B[k]-m*B[i];
- }
- d=1;
- if(A[n][n]==0) return 1;
- for(i=1;i<=n;i++) d=d*A[i][i];
- for(i=n;i>=1;i--)
- {X[i]=B[i];
- for(j=n;j>=i+1;j--) X[i]=X[i]-A[i][j]*X[j];
- X[i]=X[i]/A[i][i];
- }
- return d;
- }
- int main(int argc, char *argv[]) {
- float A[4][4]={{0,0,0,0},{0,3,1,-0.7},{0,0.8,0.7,2},{0,1,3,-0.5}};
- float B[4]={0,1,2,3},X[4];
- int n=3,i;
- cout<<"Determinantul sistemului este"<<Gauss(n,A,B,X)<<endl;
- for(i=1;i<=n;i++) cout<<X[i]<<endl;
- system("pause");
- return 0;
- }
- #include <iostream>
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- using namespace std;
- float Jacobi(int n,float A[][4],float B[],float X[]){
- int i,j;
- float sum;
- float Xn[4],Xn1[4];
- int sem;
- float eps=0.001;
- for(i=1;i<=n;i++){
- sum=0;
- for(j=1;j<=n;j++)
- sum=sum+fabs(A[i][j]);
- if(sum>2*fabs(A[i][i]))
- return 1;}
- for(i=1;i<=n;i++)
- Xn[i]=X[i];
- do{
- sem=0;
- for(i=1;i<=n;i++)
- Xn1[i]=Xn[i];
- for(i=1;i<=n;i++)
- {Xn[i]=B[i];
- for(j=1;j<=n;j++)
- if(j!=i)
- Xn[i]=Xn[i]-A[i][j]*Xn1[j];
- Xn[i]=Xn[i]/A[i][i];
- }
- for(i=1;i<=n;i++)
- if(fabs(Xn[i]-Xn1[i])>eps) sem=1;
- }while(sem==1);
- for(i=1;i<=n;i++) X[i]=Xn[i];
- return 0;}
- int main(){
- //float A[4][4]={{0,0,0,0},{0,3,1,-0.7},{0,0.8,0.7,2},{0,1,3,-0.5}};
- float A[4][4]={{0,0,0,0},{0,3,1,-0.7},{0,1,3,-0.5},{0,0.8,0.7,2}};
- float B[4]={0,1,3,2},X[4];
- int n=3,i;
- if(Jacobi(n,A,B,X)==1)
- cout<<"eroare"<<endl;
- else
- cout<<"Solutiille sunt: "<<endl;
- {for(i=1;i<=n;i++) cout<<X[i]<<endl;
- system("pause");}
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement