Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Name : Babiceanu Florin-Daniel
- //Date : 22/03/2019
- #include <stdio.h>
- #include <stdlib.h>
- #define L_MAX 30
- int main()
- /*
- Datele vor fii memorate in matrice incepand cu pozitia [1][1].
- Nu se verifica diagonal dominanta => algoritmul nu este stabil.
- */
- {
- FILE* input_file;
- FILE* output_file;
- input_file=fopen("data.in", "r");
- output_file=fopen("data.out", "w");
- int n;
- int i=0;
- int j=0;
- float a[L_MAX][L_MAX+1];
- fscanf(input_file,"%d", &n);
- for(i=1; i<=n; i++)
- {
- for(j=1; j<=n+1; j++)
- {
- fscanf(input_file, "%f", &a[i][j]);
- }
- }
- a[1][2]=a[1][2]/a[1][1];// primul R
- for(i=2; i<=n; i++)
- {
- if(a[i][i]==0)
- {
- fprintf(output_file,"Sistemul nu are solutie unica !");
- return 0;
- }
- a[i][i]=a[i][i]-a[i][i-1]*a[i-1][i]; //L
- if(i+1<=n)
- {
- a[i][i+1]=a[i][i+1]/a[i][i];//r
- }
- }
- a[1][1]=a[1][n+1]/a[1][1];
- for(i=2; i<=n ; i++)
- {
- a[i][i] = (a[i][n+1]-a[i][i-1]*a[i-1][i-1])/a[i][i];
- }
- if(a[n][n]==0)
- {
- fprintf(output_file,"Sistemul nu are solutie unica ! 2");
- return 0;
- }
- for(i=n-1;i>=1;i--)
- {
- a[i][n]=a[i][i]-a[i][i+1]*a[i+1][n];
- }
- for(i=1; i<=n; i++)
- {
- fprintf(output_file,"X%d = %f\n", i, a[i][n]);
- }
- fclose(input_file);
- fclose(output_file);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement