发新话题
打印

三对角线追赶法

本帖已经被作者加入个人空间

三对角线追赶法

#include<stdio.h>
#include<math.h>

main()
{int i,j,k,n;
float d[10][10],g[10],a[10],b[10],c[10],x[10],y[10],f[10];
printf("the top exp is ");
scanf("%d",&n);
scanf("%f,%f,%f,%f",&d[0][0],&d[0][1],&d[n-1][n-2],&d[n-1][n-1]);
for(i=1;i<n-1;i++)
  for(j=i-1;j<=i+1;j++)
   scanf("%f",&d[j]);
for(i=0;i<n;i++)
  scanf("%f",&g);
for(i=1;i<n-1;i++)
  a=d[i-1];
for(i=0;i<n;i++)
  b=d;
for(i=0;i<n-1;i++)
  c=d[i+1];
f[0]=c[0]/b[0];
for(k=1;k<n-1;k++)
  f[k]=c[k]/(b[k]-a[k]*f[k-1]);
y[0]=g[0]/b[0];
for(i=1;i<n;i++)
  y=(g-a*y[i-1])/(b-a*f[i-1]);
x[n-1]=y[n-1];
for(i=n-2;i>=0;i--)
  x=y-f*x[i+1];
for(i=0;i<n;i++)
  printf("%f\n",x);
}
回帖既是一种美德,是对作者的鼓励,同时又为后来者推荐了好文章,何乐而不为呢?

TOP

发新话题