[c] Metoda iteracji prostych

dpiotrow
Użytkownik
Użytkownik
Posty: 19
Rejestracja: 7 cze 2009, o 13:59
Płeć: Kobieta
Podziękował: 4 razy

[c] Metoda iteracji prostych

Post autor: dpiotrow »

Mam program o następującej treści:
Napisać program realizujący metodę prostych iteracji dla układu równań liniowych Ax=b.

Pełną teorię miałam opisaną tutaj:

Kod: Zaznacz cały

http://hektor.umcs.lublin.pl/~beatas/met_iter.pdf

... eracji.htm

I udało mi się coś takiego wymodzić:

Kod: Zaznacz cały

#include<stdio.h>
#include<stdlib.h>

int main(){
int i,j,n, k, iter;
double a[25][25];
double b[25];
double x[25], y[25];
printf("Podaj wymiar macierzy A = ");
scanf("%d",&n);
for(i=0;i<n;i++){
    for(j=0;j<n;j++){
      printf("A[%d][%d]=",i+1,j+1);
      scanf("%lf",&a[i][j]);
    
}
    }
    
     for (i=0; i<n; i++) {
      printf("b[%d] = 
", (i+1));
      scanf("%lf", &b[i]);
   

}

printf("Ile iteracji algorytmu wykonac?
");
   scanf("%d", &iter);
  
 // for(k=0; k<iter; i++){
  for(i=0; i<n; i++){
                   
         for(j=0; j<n; j++){
                  if(i!=j){
             x[i] = (b[i]/a[i][i]) + ((((-1)*a[i][j])/(a[i][i]))*y[i]);   
             } else {
                    x[i] = b[i] + (((-1)*a[i][j])*y[i]);
                    }
             printf("x[%d] = %lf
",i++, x[i]);  
                  }
                  x[i]=y[i++];
                  }
                
                
                //  }
                  system("pause");
return 0;
}
Co dalej i czy to co zrobiłam jest dobrze ?
ODPOWIEDZ