读书人

请教各位朋友在C++中怎么实现复数数

发布时间: 2012-03-01 10:25:47 作者: rapoo

请问各位朋友,在C++中如何实现复数数组??
请问各位朋友,在C++中如何实现复数数组?我想有标准库中的complex来实现,为什么不行呢?程序如下:


#include "stdafx.h "
#include "math.h "
#include <complex>

void DFT(complex <float> a[],complex <float> b[],int N)
{
for (int k = 0;k <N;k++)
{
b[k]=(0,0);

for(int n = 0;n <N;n++)
{
complex <float> mm = (0,(2*3.14/N)*k*n);
b[k]=b[k]+(a[n]*(exp(mm));
}
}
}


int main()
{
complex <float> x[3]={(1,0),(1,0),(1,0)};
complex <float> y[3];

DFT(x,y,3);

for(int k=0;k <3;k++)
{
printf( "y[%d] = %f+i%f\n ",k,y[k]);
}

return 0;
}



[解决办法]
运行结果:


y[0] = 0.000000+i0.000000
y[1] = 0.000000+i0.000000
y[2] = 0.000000+i0.000000
Press any key to continue


是要这个吗?
b[k]=b[k]+(a[n]*(exp(mm))) 这里你原来少了一个括号
[解决办法]

using namespace std;//

读书人网 >C++

热点推荐