Guest User

Untitled

a guest
Jan 19th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. float metgem(float a[][10], int n, float b[10], float v[10], float u[10][10])
  5. {
  6. int i=0, j=0,k=0; float m;
  7. for(i=0;i<n;i++)
  8. { v[i]=b[i];
  9. for(j=0;j<n;j++)
  10. u[i][j]=a[i][j];}
  11.  
  12. for(i=0;i<n;i++)
  13. for(j=i+1;j<n;j++)
  14. {
  15. m=a[i][j]/a[i][i];
  16. for(k=i;k<n;k++)
  17. u[j][k]=u[j][k]-u[i][k]*m;
  18. v[j]=v[j]-v[j]*m;
  19. }
  20. return 1;
  21. }
  22.  
  23. /*int functie(float a[][10],int n, float eps, float b[][10])
  24. {
  25. int i=0, er=0,k=0,j=0;
  26. float suma=0;
  27. for (i=0;i<n;i++)
  28. if(a[i][i]>=-eps&&a[i][i]<=eps)er=1;
  29. if(er==0)
  30. {
  31. for(i=0;i<n;i++)
  32. for(j=0;j<n;j++)b[i][j]=0;
  33.  
  34. for(i=n-1;i>=0;i--)
  35. {b[i][i]=1/a[i][i];
  36. for(k=i-1;k>=0;k--)
  37. {suma=0;
  38. for(j=k+1;j<=i;j++)
  39. suma=suma+a[k][j]*b[j][i];
  40. b[k][i]=-suma/a[k][k];
  41. }
  42.  
  43. }
  44. }
  45. return er;
  46. }
  47. */
  48.  
  49. int sistem (float a[][10], float b[], int n, float eps, float x[])
  50. {
  51. int i=0,j=0, er=0;
  52. for(i=0;i<n;i++)
  53. if(a[i][i]>(-eps) && a[i][i]<eps)er=1;
  54.  
  55. if(er==0)
  56. {
  57. x[n-1]=b[n-1]/a[n-1][n-1];
  58. for(i=n-2;i>=0;i--)
  59. { float s=0;
  60. for(j=n-2;j>=i;j--)
  61. s=s+(a[i][j]*x[j]);
  62. x[i]=(b[i]-s)/a[i][i];
  63. }
  64. }
  65. return er;
  66. }
  67.  
  68. void main()
  69. {
  70. float a[10][10], eps=0.08, b[10], u[10][10], v[10],x[10];
  71. int n=5, ok,i,j;
  72. cout<<"dati matricea";
  73. for(i=0;i<n;i++)
  74. for(j=0;j<n;j++)
  75. cin>>a[i][j];
  76. cout<<"da vectorul";
  77. for(i=0;i<n;i++)
  78. cin>>b[i];
  79. metgem(a,n,b,v,u);
  80. ok=sistem(u,v,n,eps,x);
  81. if(ok)cout<<"matricea nu este inversabila";
  82. else for(i=0;i<n;i++)
  83. cout<<x[i]<<" ";
  84.  
  85. }
Add Comment
Please, Sign In to add comment