Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. //Name : Babiceanu Florin-Daniel
  2. //Date : 22/03/2019
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6.  
  7. #define L_MAX 30
  8.  
  9. int main()
  10. /*
  11. Datele vor fii memorate in matrice incepand cu pozitia [1][1].
  12. Nu se verifica diagonal dominanta => algoritmul nu este stabil.
  13. */
  14. {
  15. FILE* input_file;
  16. FILE* output_file;
  17.  
  18. input_file=fopen("data.in", "r");
  19. output_file=fopen("data.out", "w");
  20.  
  21. int n;
  22. int i=0;
  23. int j=0;
  24.  
  25. float a[L_MAX][L_MAX+1];
  26.  
  27. fscanf(input_file,"%d", &n);
  28.  
  29. for(i=1; i<=n; i++)
  30. {
  31. for(j=1; j<=n+1; j++)
  32. {
  33. fscanf(input_file, "%f", &a[i][j]);
  34. }
  35. }
  36.  
  37. a[1][2]=a[1][2]/a[1][1];// primul R
  38.  
  39. for(i=2; i<=n; i++)
  40. {
  41. if(a[i][i]==0)
  42. {
  43. fprintf(output_file,"Sistemul nu are solutie unica !");
  44. return 0;
  45. }
  46. a[i][i]=a[i][i]-a[i][i-1]*a[i-1][i]; //L
  47. if(i+1<=n)
  48. {
  49. a[i][i+1]=a[i][i+1]/a[i][i];//r
  50. }
  51. }
  52.  
  53. a[1][1]=a[1][n+1]/a[1][1];
  54.  
  55. for(i=2; i<=n ; i++)
  56. {
  57. a[i][i] = (a[i][n+1]-a[i][i-1]*a[i-1][i-1])/a[i][i];
  58. }
  59.  
  60. if(a[n][n]==0)
  61. {
  62. fprintf(output_file,"Sistemul nu are solutie unica ! 2");
  63. return 0;
  64. }
  65. for(i=n-1;i>=1;i--)
  66. {
  67. a[i][n]=a[i][i]-a[i][i+1]*a[i+1][n];
  68. }
  69.  
  70. for(i=1; i<=n; i++)
  71. {
  72. fprintf(output_file,"X%d = %f\n", i, a[i][n]);
  73. }
  74.  
  75. fclose(input_file);
  76. fclose(output_file);
  77.  
  78. return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement