。。。。。大家好 帮忙看看这程序错在哪。。。。。。。。。。。。。。。。。。
我编译后出现下列错误111.cpp(12) : error C2143: syntax error : missing ')' before 'constant'
111.cpp(12) : error C2143: syntax error : missing ';' before 'constant'
111.cpp(12) : fatal error C1004: unexpected end of file found
附程序:
#include<stdio.h>
#include<math.h>
#define N 5
#define PI 2*asin(1)
#define fm 30.0
#define dt 1.0e-3 //时间采样间隔,单位:s
#define NT 512 //时间最大样点号
void ricker(double fuzhi[],double fm1);
void FFT(double xr[], double xi[], int N, int M);
void ChangeOrder(double xr[], double xi[], int N);
int main()
{
for(int w=0;w<NT;w++)
{
FUZHI[w]=0;
imag[w]=0;
}
ricker(FUZHI,fm);
FFT(FUZHI,imag,NT,9);
for(int w1=0;w1<NT;w1++)
{
printf("%f",FUZHI[w1]);
//printf("%f",imag[w1]);
}
return 1;
}
void ricker(double fuzhi[],double fm1)
{
double x1,xx;
for(int h=0;h<NT;h++)
{
x1=PI*fm1*(h-1.0/fm1);
xx=x1*x1;
fuzhi[h]=exp(-xx)*(1.0-2.0*xx);
}
}
///////FFT变换//////////
void FFT(double xr[], double xi[], int N, int M)
{
int L,B,JJ,P,k,ii;
double rPartKB,iPartKB;
double rCf[128],iCf[128];
//计算旋转因子
double PI2=8.0*atan(1.0);
for(ii=0;ii<N;ii++)
{
rCf[ii]=cos(ii*PI2/N);
iCf[ii]=sin(ii*PI2/N);
}
ChangeOrder(xr,xi,N);//调用倒序子程序
//计算各级蝶形
for(L=1;L<=M;L++)
{
B=(int)(pow(2,(L-1))+0.5);
for(JJ=0;JJ<=B-1;JJ++)
{
P=JJ*((int)(pow(2,(M-L))+0.5));
for(k=JJ;k<=N-1;k+=(int)(pow(2,L)+0.5))
{
rPartKB=xr[k+B]*rCf[P]-xi[k+B]*iCf[P];
iPartKB=xi[k+B]*rCf[P]+xr[k+B]*iCf[P];
xr[k+B]=xr[k]-rPartKB;
xi[k+B]=xi[k]-iPartKB;
xr[k]=xr[k]+rPartKB;
xi[k]=xi[k]+iPartKB;
}
}
}
}
///////倒序子程序//////////////////////
void ChangeOrder(double xr[], double xi[], int N)
{
int LH,N1,I1,J1,K;
double T;
LH=N/2;J1=LH;N1=N-2;
for(I1=1;I1<=N1;I1++)
{
if(I1<J1)
{
T=xr[I1];xr[I1]=xr[J1];xr[J1]=T;
T=xi[I1];xi[I1]=xi[J1];xi[J1]=T;
}
K=LH;
while(J1>=K)
{
J1=J1-K;
K=(int)(K/2+0.5);
}
J1=J1+K;
}
}
[ 本帖最后由 number001 于 2010-5-7 10:53 编辑 ]