青年梦想家 发表于 2015-8-28 16:46

重要的算法C语言实现源代码7

7.雅克比迭代,求解方程近似解

C/C++ code
#include <stdio.h>
#include <math.h>
#define N 20
#define MAX 100
#define e 0.00001
int main()
{ int n;
int i,j,k;
float t;
float a,b,c,g,x,h;
printf("\nInput dim of n:");   scanf("%d",&n);
if(n>N)
{ printf("Faild! Check if 0<n<N!\n"); getch(); return 1; }
if(n<=0)
{printf("Faild! Check if 0<n<N!\n"); getch(); return 1;}
printf("Input a,i,j=0…%d:\n",n-1);
for(i=0;i<n;i++)
   for(j=0;j<n;j++)
   scanf("%f",&a);
printf("Input c,i=0…%d:\n",n-1);
for(i=0;i<n;i++)
scanf("%f",&c);
for(i=0;i<n;i++)
   for(j=0;j<n;j++)
   { b=-a/a;   g=c/a; }
  for(i=0;i<MAX;i++)
   { for(j=0;j<n;j++)
     h=g;
     { for(k=0;k<n;k++)
       { if(j==k) continue; h+=b*x; }
     }
     t=0;
     for(j=0;j<n;j++)
     if(t<fabs(h-x)) t=fabs(h-x);
     for(j=0;j<n;j++)
     x=h;
     if(t<e)
     { printf("x_i=\n");
       for(i=0;i<n;i++)     
printf("x[%d]=%f\n",i,x);
       getch();
       return 0;
     }
     printf("after %d repeat , return\n",MAX);
     getch();
     return 1;
   }
   getch();
}



关于本帖内容欢迎大家踊跃讨论,与在下交流!

页: [1]
查看完整版本: 重要的算法C语言实现源代码7