Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. #include<iostream>
  2. #include<stdlib.h>
  3. #include<math.h>
  4. using namespace std;
  5.  
  6. int Jacobi(int n,float A[][4],float B[],float X[])
  7. {int i,j,sem;
  8. float sum,eps=0.001,Xn[4],Xn1[4];
  9.  
  10. for(i=1;i<=n;i++)
  11. { sum=0;
  12. for(j=1;j<=n;j++)
  13. sum=sum+fabs(A[i][j]);
  14. if(sum>2*fabs(A[i][i]))
  15. return 1;
  16. }
  17. for(i=1;i<=n;i++)
  18. Xn[i]=X[i];
  19. do{
  20. sem=0;
  21. for(i=1;i<=n;i++)
  22. Xn1[i]=Xn[i];
  23. for(i=1;i<=n;i++)
  24. { Xn[i]=B[i];
  25. for(j=1;j<=n;j++)
  26. if(j!=i)
  27. Xn[i]=Xn[i]-A[i][j]*Xn1[j];
  28. Xn[i]=Xn[i]/A[i][i];
  29. }
  30. for(i=1;i<=n;i++)
  31. if(fabs(Xn[i]-Xn1[i])>eps)
  32. sem=1;
  33. }while(sem==1);
  34. for(i=1;i<=n;i++)
  35. X[i]=Xn[i];
  36. return 0;
  37. }
  38.  
  39. int main()
  40. { float A[4][4]={{0,0,0,0},{0,5,0.5,3},{0,-0.9,2,-1},{0,2.1,0.6,3}};
  41. float B[4]={0,3,2,1},X[4];
  42. int n=3,i;
  43. if(Jacobi(n,A,B,X)==1)
  44. cout<<"Eroare!"<<endl;
  45. else
  46. for(i=1;i<=n;i++)
  47. cout<<X[i]<<endl;
  48. system("pause");
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement