| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 467 人关注过本帖
标题:[求助]一个关于C++的程序
只看楼主 加入收藏
qzhq1984
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-8
收藏
 问题点数:0 回复次数:5 
[求助]一个关于C++的程序
那天编这个程序
#include <stdio.h>
#include <math.h>
#define N 64
#define m 6 //2^m=N

double twiddle[N/2]={1,0.9951,0.9808,0.9570,0.9239,0.8820,0.8317,0.7733,
0.7075,0.6349,0.5561,0.4721,0.3835,0.2912,0.1961,0.0991,
0.0000,-0.0991,-0.1961,-0.2912,-0.3835,-0.4721,-0.5561,-0.6349,
-0.7075,-0.7733,0.8317,-0.8820,-0.9239,-0.9570,-0.9808,-0.9951,}; //N=64
double x_r[N]={1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,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,};
double x_i[N];

void fft_init()
{
int i;
for(i=0;i<N;i++)
x_i=0.0;
}
void bitrev()
{
int p=1,q,i;
int bit_rev[N];
double xx_r[N];
bit_rev[0]=0;
while(p<N)
{
for(q=0;q<p;q++)
{
bit_rev[q]=bit_rev[q]*2;
bit_rev[q+p]=bit_rev[q]+1;
}
p=p*2;
}
for(i=0;i<N;i++)
{
xx_r=x_r;
}
for(i=0;i<N;i++)
{
x_r=xx_r[bit_rev];
}
}

void display()
{
int i;
for(i=0;i<N;i++)
printf("%\t%f\n",x_r,x_i);
}

void fft1()
{
int L,i,b,j,p,k,tx1,tx2;
double TI,TR,temp;
double tw1,tw2;

for(L=1;L<=m;L++)
{ /* for(1) */
b=1; i=L-1;
while(i>0)
{b=b*2;i--;} /* b= 2^(L-1) */
for(j=0;j<=b-1;j++) /* for (2) */
{ p=1; i=m-L;
while(i>0) /* p=pow(2,7-L)*j; */
{p=p*2; i--;}
p=p*j;
tx1=p%(N);
tx2=tx1+(3*N)/4;
tx2=tx2%(N);
if (tx1>=(N/2))
tw1=-twiddle[tx1-(N/2)];
else
tw1=twiddle[tx1];
if (tx2>=(N/2))
tw2=-twiddle[tx2-(N/2)];
else
tw2=twiddle[tx2];
for(k=j;k<N;k=k+2*b) /* for (3) */
{TR=x_r[k]; TI=x_i[k]; temp=x_r[k+b];
x_r[k]=x_r[k]+x_r[k+b]*tw1+x_i[k+b]*tw2;
x_i[k]=x_i[k]-x_r[k+b]*tw2+x_i[k+b]*tw1;
x_r[k+b]=TR-x_r[k+b]*tw1-x_i[k+b]*tw2;
x_i[k+b]=TI+temp*tw2-x_i[k+b]*tw1;
}
}
}

}



void main()
{

fft_init();
bitrev();
fft1();
display(); //FFT


}


FFt算法
编译通过
但是连接有错误
提示是
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/12.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.


请问怎么办。
搜索更多相关主题的帖子: include double 
2006-04-08 20:41
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
收藏
得分:0 
你的main函数呢?

http://kongfuziandlife. http://codeanddesign.
2006-04-09 08:53
jiji1218
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-3-24
收藏
得分:0 

你的程序要实现什么功能我不知道但是我可以看出有很大漏洞,你的数组学的不是怎么样啊,经过我修改以后已经没错误了,我调试过了,修改后的代码如下:
#include "stdafx.h"
#include<iostream.h>
#include <math.h>
#define N 64
#define m 6 //2^m=N
double twiddle[N/2]={1,0.9951,0.9808,0.9570,0.9239,0.8820,0.8317,0.7733,
0.7075,0.6349,0.5561,0.4721,0.3835,0.2912,0.1961,0.0991,
0.0000,-0.0991,-0.1961,-0.2912,-0.3835,-0.4721,-0.5561,-0.6349,
-0.7075,-0.7733,0.8317,-0.8820,-0.9239,-0.9570,-0.9808,-0.9951,}; //N=64
double x_r[N]={1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,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,};
double x_i[N];

void fft_init() //为数组X_i赋值
{
int i;
for(i=0;i<N;i++)
x_i[i]=0.0;
}
void bitrev()
{
int p=1,q,i;
int bit_rev[N];
double xx_r[N];
bit_rev[0]=0;
while(p<N)
{
for(q=0;q<p;q++)
{
bit_rev[q]=bit_rev[q]*2;
bit_rev[q+p]=bit_rev[q]+1;
}
p=p*2;
}
for(i=0;i<N;i++)
{
xx_r[i]=x_r[i];
}
for(i=0;i<N;i++)
{
x_r[i]=xx_r[bit_rev[i]];
}
}

void display()
{
int i;
for(i=0;i<N;i++)
cout<<x_r[i]<<","<<x_i[i]<<endl;
}

void fft1()
{
int L,i,b,j,p,k,tx1,tx2;
double TI,TR,temp;
double tw1,tw2;

for(L=1;L<=m;L++)
{ /* for(1) */
b=1; i=L-1;
while(i>0)
{b=b*2;i--;} /* b= 2^(L-1) */
for(j=0;j<=b-1;j++) /* for (2) */
{ p=1; i=m-L;
while(i>0) /* p=pow(2,7-L)*j; */
{p=p*2; i--;}
p=p*j;
tx1=p%(N);
tx2=tx1+(3*N)/4;
tx2=tx2%(N);
if (tx1>=(N/2))
tw1=-twiddle[tx1-(N/2)];
else
tw1=twiddle[tx1];
if (tx2>=(N/2))
tw2=-twiddle[tx2-(N/2)];
else
tw2=twiddle[tx2];
for(k=j;k<N;k=k+2*b) /* for (3) */
{TR=x_r[k]; TI=x_i[k]; temp=x_r[k+b];
x_r[k]=x_r[k]+x_r[k+b]*tw1+x_i[k+b]*tw2;
x_i[k]=x_i[k]-x_r[k+b]*tw2+x_i[k+b]*tw1;
x_r[k+b]=TR-x_r[k+b]*tw1-x_i[k+b]*tw2;
x_i[k+b]=TI+temp*tw2-x_i[k+b]*tw1;
}
}
}

}


int main(int argc, char* argv[])
{

fft_init();
bitrev();
fft1();
display(); //FFT
return 0;
}

2006-04-09 10:04
qzhq1984
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-8
收藏
得分:0 
jiji1218

谢谢你哦:)
2006-04-09 11:20
qzhq1984
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-8
收藏
得分:0 
可以运行了,呵呵呵哈哈。
2006-04-09 11:24
jiji1218
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-3-24
收藏
得分:0 
不用谢,互相帮助
2006-04-09 16:03
快速回复:[求助]一个关于C++的程序
数据加载中...
 
   



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

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