fork download
  1. /*
  2. Name: Anuska Alam
  3. Id: 230241021
  4. Report: Gauss Elimination
  5. */
  6.  
  7. #include<bits/stdc++.h>
  8. using namespace std;
  9. int main (){
  10. int n; cin >> n;
  11. double a[101][101+1], x[100], ratio;
  12. for (int i=1; i<=n; i++){
  13. for (int j=1; j<=n+1; j++){
  14. cin >> a[i][j];
  15. }
  16. }
  17.  
  18. for (int i=1; i<n; i++){
  19. if (a[i][i]==0){
  20. cout << "Error!" << endl;
  21. break;
  22. }
  23. for (int j=i+1; j<=n; j++){
  24. ratio = a[j][i]/a[i][i];
  25. for (int k=1; k<=n+1; k++){
  26. a[j][k] = a[j][k] - a[i][k]*ratio;
  27. }
  28. }
  29. }
  30.  
  31. x[n]= a[n][n+1]/a[n][n];
  32. for (int i=n-1; i>=1; i--){
  33. x[i] = a[i][n+1];
  34. for (int j=i+1; j<=n; j++){
  35. x[i] = x[i] - a[i][j]*x[j];
  36. }
  37. }
  38.  
  39. for (int i=1; i<=n; i++){
  40. for (int j=1; j<=n+1; j++){
  41. cout << a[i][j] << " ";
  42. }
  43. cout << endl;
  44. }
  45.  
  46. for (int i=1; i<=n; i++){
  47. cout << x[i] << endl;
  48. }
  49.  
  50. }
Success #stdin #stdout 0s 5320KB
stdin
3
1 1 1 5 
2 3 5 8 
4 0 5 2
stdout
1 1 1 5 
0 1 3 -2 
0 0 13 -26 
3
4
-2