| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 838 人关注过本帖
标题:关于程序运行的错误,求助!急
只看楼主 加入收藏
编号89757
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-14
收藏
 问题点数:0 回复次数:2 
关于程序运行的错误,求助!急
初学vc++,运行程序遇到麻烦?
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define pi 3.1415926536
#define NN 2048
main()
{
int i,j,k,m,N,r,s,t;
static float a0,a1,b0,b1,p,z,g;
static int a[NN];
static float c[NN];
static float d[NN][2],w[NN][2];
char thl[15];
FILE *fp,*fp1;
a[0]=0;
a[1]=1;
printf("input the data sum N\n N=");   /*FFT采样点数,此处直接由一个数据文件读入*/
scanf("%d,&N");
printf("input the data r\n r=");                       /*FFT阶数和采样点数成2的N次方关系*/
scanf("%d",&r);
printf("input the power outfile name:");/*FFT变化后求得功率谱保存的文件名*/

scanf("%s",thl);
for(i=0;i<N;i++)
{
   a[2*i]=a[i]/2;
   a[2*i+1]=a[2*i]+N/2;
  }                  
g=0.0;
fp=fopen("sl.dat","r");
for(i=0;i<N;i++)
{
   fscanf(fp,"%f\n",&c[i]);              /*读入数据并完成位反处理*/
    d[a[i]][0]=c[i];
    d[i][1]=0;
    g=g+c[i];
  }                        
fclose(fp);
g=g/pow(2,r);
for(i=0;i<N;i++)
  {
   d[i][0]=d[i][0]-g;
   }                           
  for(i=0;i<N;i++)
  {
  for(m=0;m<pow(2,i);m++)
      {
       w[m][0]=(cos(2*pi*m/pow(2,i+1)));
         w[m][1]=(-sin(2*pi*m/pow(2,i+1)));
         }   
  for(j=0;j<N;j=j+pow(2,i+1))
      {
    for(k=0;k<pow(2,i);k++)
           {
         s=(j+k);
              t=(j+k+pow(2,i));   /*蝶形运算*/
                 a0=(d[s][0]+w[k][0]*d[t][0]-w[k][1]*d[t][1])/2;
                 a1=(d[s][1]+w[k][0]*d[t][1]+w[k][1]*d[t][0])/2;
                 b0=(d[s][0]-w[k][0]*d[t][0]+w[k][1]*d[t][1])/2;
                 b1=(d[s][1]-w[k][0]*d[t][1]-w[k][1]*d[t][0])/2;   
                d[s][0]=a0;
                d[s][1]=a1;
                d[t][0]=b0;
                d[t][1]=b1;
            }
       }
    }  
    fp=fopen(thl,"w");
    fp1=fopen("out2.dat","w");
    for(k=0;k<N;k++)
    {
      p=(pow(d[k][0],2)+pow(d[k][1],2));     /*计算功率谱*/
      z=sqrt(p);
      fprintf(fp1,"%f,%f\n",d[k][0],d[k][1]);
      fprintf(fp,"%f\n",z);
      }
    fclose(fp);
    fclose(fp1);
}
运行时蹦出个窗口unhandled exception in fft.exe:0xc0000005:Access Violation.
怎么解决?望高手指点……在下感激ing
搜索更多相关主题的帖子: float static FFT 
2008-05-14 11:52
zhuwei168
Rank: 1
来 自:东软信息学院
等 级:新手上路
帖 子:180
专家分:0
注 册:2008-2-13
收藏
得分:0 
Access Violation 翻译出来是访问违例
不太明白怎么弄
今天才刚学文件
2008-05-14 17:47
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
我在VC下运行没错啊

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-14 17:52
快速回复:关于程序运行的错误,求助!急
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040936 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved