vc6.0与vs2008平台的运行不同

现在有一个程序 用于实现 从文件中读入数据文件 然后调入到主程序中,执行是需用到另外一个算法。

在VC6.0 中,包含如下文件 6GAUS00.C 6GAUS.C input1.txt input2.txt

此处不需要定义工程,直接运行6GAUS00.C 可直接出结果

具体代码如下

6GAUS00.C

View Code
  #include <stdio.h>
//#include <fstream>
  #include "6gaus.c"
 int main()
  { 
    FILE *fptr1, *fptr2,*fptr3;    
    int i,j;
    double a[36][36];
    double b[36];
    //ifstream inAMatrix;
    //inAMatrix.open("F:\\fluid\\test_poissonEqution\\AMatrix.txt");
    fptr1 = fopen("AMatrix.txt", "r");
    for (i=0; i<36; i++)
    {
        for (j=0; j<36; j++)
        {
           fscanf(fptr1,"%lf", &a[i][j]);
        }
    fscanf(fptr1,"\n");
    }
    fclose(fptr1);
    fptr2 = fopen("BVector.txt", "r");
    for (i=0; i<36; i++)
    {
        fscanf(fptr2,"%lf", &b[i]);
    }    
    fclose(fptr2);
    fptr3 = fopen("output.txt", "w");
    if (gaus(a,b,36)!=0)
      for (i=0;i<=35;i++)
      {
        printf("x(%d)=%e\n",i,b[i]);
        fprintf(fptr3,"%18.5e",b[i]);
        fprintf(fptr3,"\n");
      }
     fclose(fptr3);
     //inAMatrix.close();
     return 0;
  }

6GAUS.C

View Code
  #include "stdlib.h"
  #include "math.h"
  #include "stdio.h"
  int gaus(a,b,n)
  int n;
  double a[],b[];
  { int *js,l,k,i,j,is,p,q;
    double d,t;
    js=malloc(n*sizeof(int));
    l=1;
    for (k=0;k<=n-2;k++)
      { d=0.0;
        for (i=k;i<=n-1;i++)
          for (j=k;j<=n-1;j++)
            { t=fabs(a[i*n+j]);
              if (t>d) { d=t; js[k]=j; is=i;}
            }
        if (d+1.0==1.0) l=0;
        else
          { if (js[k]!=k)
              for (i=0;i<=n-1;i++)
                { p=i*n+k; q=i*n+js[k];
                  t=a[p]; a[p]=a[q]; a[q]=t;
                }
            if (is!=k)
              { for (j=k;j<=n-1;j++)
                  { p=k*n+j; q=is*n+j;
                    t=a[p]; a[p]=a[q]; a[q]=t;
                  }
                t=b[k]; b[k]=b[is]; b[is]=t;
              }
          }
        if (l==0)
          { free(js); printf("fail\n");
            return(0);
          }
        d=a[k*n+k];
        for (j=k+1;j<=n-1;j++)
          { p=k*n+j; a[p]=a[p]/d;}
        b[k]=b[k]/d;
        for (i=k+1;i<=n-1;i++)
          { for (j=k+1;j<=n-1;j++)
              { p=i*n+j;
                a[p]=a[p]-a[i*n+k]*a[k*n+j];
              }
            b[i]=b[i]-a[i*n+k]*b[k];
          }
      }
    d=a[(n-1)*n+n-1];
    if (fabs(d)+1.0==1.0)
      { free(js); printf("fail\n");
        return(0);
      }
    b[n-1]=b[n-1]/d;
    for (i=n-2;i>=0;i--)
      { t=0.0;
        for (j=i+1;j<=n-1;j++)
          t=t+a[i*n+j]*b[j];
        b[i]=b[i]-t;
      }
    js[n-1]=n-1;
    for (k=n-1;k>=0;k--)
      if (js[k]!=k)
        { t=b[k]; b[k]=b[js[k]]; b[js[k]]=t;}
    free(js);
    return(1);
  }

input1.txt

View Code
1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    4    -1    0    0    0    0    -2    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    -1    4    -1    0    0    0    0    -2    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    -1    4    -1    0    0    0    0    -2    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    -1    4    -1    0    0    0    0    -2    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    -2    4    0    0    0    0    0    -2    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    4    -2    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    -1    0    0    0    0    -2    4    0    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    -1    0    0    0    0    0    4    -2    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -2    4    0    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    0    4    -2    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -2    4    0    0    0    0    0    -1    0    0    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    0    4    -2    0    0    0    0    -1    0    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -1    4    -1    0    0    0    0    -1    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -1    0    0    0    0    -2    4    0    0    0    0    0    -1
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -2    0    0    0    0    0    4    -2    0    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -2    0    0    0    0    -1    4    -1    0    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -2    0    0    0    0    -1    4    -1    0    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -2    0    0    0    0    -1    4    -1    0
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -2    0    0    0    0    -1    4    -1
0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    -2    0    0    0    0    -2    4

input2.txt

View Code
-0.57548
0.85828
-0.15069
-0.9514
-0.43732
1.9378
2.4544
2.076
-0.36449
-2.3013
-1.0578
2.4544
-5.3396
-4.5164
0.79296
5.0068
2.3013
-5.3396
0.84572
0.71536
-0.12559
-0.79296
-0.36449
0.84572
4.8168
4.0744
-0.71536
-4.5164
-2.076
4.8168
0.57548
-0.85828
0.15069
0.9514
0.43732
-1.9378

 

 

 

 

 

 

 

 

posted @ 2013-01-15 23:06  liang_l  阅读(395)  评论(0)    收藏  举报