Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. Gauss:
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <math.h>
  6.  
  7. using namespace std;
  8.  
  9. float Gauss(int n,float A[][4],float B[],float X[]){
  10. int i,k,j;
  11. float m,d;
  12. for(i=1;i<=n-1;i++)
  13. for(k=i+1;k<=n;k++)
  14. {m=A[k][i]/A[i][i];
  15. for(j=i;j<=n;j++) A[k][j]=A[k][j]-m*A[i][j];
  16. B[k]=B[k]-m*B[i];
  17. }
  18. d=1;
  19. if(A[n][n]==0) return 1;
  20. for(i=1;i<=n;i++) d=d*A[i][i];
  21. for(i=n;i>=1;i--)
  22. {X[i]=B[i];
  23. for(j=n;j>=i+1;j--) X[i]=X[i]-A[i][j]*X[j];
  24. X[i]=X[i]/A[i][i];
  25. }
  26. return d;
  27. }
  28.  
  29. int main(int argc, char *argv[]) {
  30. float A[4][4]={{0,0,0,0},{0,3,1,-0.7},{0,0.8,0.7,2},{0,1,3,-0.5}};
  31. float B[4]={0,1,2,3},X[4];
  32. int n=3,i;
  33. cout<<"Determinantul sistemului este"<<Gauss(n,A,B,X)<<endl;
  34. for(i=1;i<=n;i++) cout<<X[i]<<endl;
  35. system("pause");
  36. return 0;
  37. }
  38.  
  39. #include <iostream>
  40. #include <stdio.h>
  41. #include <stdlib.h>
  42. #include <math.h>
  43.  
  44. using namespace std;
  45.  
  46. float Jacobi(int n,float A[][4],float B[],float X[]){
  47. int i,j;
  48. float sum;
  49. float Xn[4],Xn1[4];
  50. int sem;
  51. float eps=0.001;
  52. for(i=1;i<=n;i++){
  53. sum=0;
  54. for(j=1;j<=n;j++)
  55. sum=sum+fabs(A[i][j]);
  56. if(sum>2*fabs(A[i][i]))
  57. return 1;}
  58.  
  59. for(i=1;i<=n;i++)
  60. Xn[i]=X[i];
  61. do{
  62. sem=0;
  63. for(i=1;i<=n;i++)
  64. Xn1[i]=Xn[i];
  65. for(i=1;i<=n;i++)
  66. {Xn[i]=B[i];
  67. for(j=1;j<=n;j++)
  68. if(j!=i)
  69. Xn[i]=Xn[i]-A[i][j]*Xn1[j];
  70. Xn[i]=Xn[i]/A[i][i];
  71. }
  72. for(i=1;i<=n;i++)
  73. if(fabs(Xn[i]-Xn1[i])>eps) sem=1;
  74. }while(sem==1);
  75. for(i=1;i<=n;i++) X[i]=Xn[i];
  76. return 0;}
  77.  
  78. int main(){
  79. //float A[4][4]={{0,0,0,0},{0,3,1,-0.7},{0,0.8,0.7,2},{0,1,3,-0.5}};
  80. float A[4][4]={{0,0,0,0},{0,3,1,-0.7},{0,1,3,-0.5},{0,0.8,0.7,2}};
  81. float B[4]={0,1,3,2},X[4];
  82. int n=3,i;
  83. if(Jacobi(n,A,B,X)==1)
  84. cout<<"eroare"<<endl;
  85. else
  86. cout<<"Solutiille sunt: "<<endl;
  87. {for(i=1;i<=n;i++) cout<<X[i]<<endl;
  88. system("pause");}
  89.  
  90. return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement