![]() |
#2
rjsp2013-03-02 09:25
|

#include <iostream>
#include <fstream>
using namespace std;
const int Run = 2;
const int Bin = 2;
int** Convolution(int arr,const int h[],int g[][Bin]);
int main()
{
ifstream inFile;
inFile.open("time.txt");
if(!inFile)
{
cerr<<"read time.txt fail"<<endl;
return 1;
}
int Pulse[Run][Bin];
int value;
inFile>>value;
for(int i=0;i!=Run;i++)
{
for(int j=0;j!=Bin && inFile.good() ;j++)
{
Pulse[i][j]=value;
inFile>>value;
}
}
if(inFile.eof())
cout<<"End of the file"<<endl;
inFile.close();
//convolution
const int signal[Bin]={2,3};
int** conv=Convolution(Bin,signal,Pulse);
cout<<*(*(conv+1)+1)<<endl;
return 0;
}
int** Convolution(int arr,const int h[],int g[][Bin])
{
int s[Run][2*Bin]; //这里我想定义一个二维数组,长度都是已知的,这样写可以吗
for(int i=0;i!=Run;i++)
{
for(int t=0;t!=2*arr;t++)
{
for(int n=0;n<=t;n++)
s[i][t]+=g[i][n]*h[t-n];
}
}
return s; //请问下这个地方应该怎么写才能返回上面的二维数组
}
#include <fstream>
using namespace std;
const int Run = 2;
const int Bin = 2;
int** Convolution(int arr,const int h[],int g[][Bin]);
int main()
{
ifstream inFile;
inFile.open("time.txt");
if(!inFile)
{
cerr<<"read time.txt fail"<<endl;
return 1;
}
int Pulse[Run][Bin];
int value;
inFile>>value;
for(int i=0;i!=Run;i++)
{
for(int j=0;j!=Bin && inFile.good() ;j++)
{
Pulse[i][j]=value;
inFile>>value;
}
}
if(inFile.eof())
cout<<"End of the file"<<endl;
inFile.close();
//convolution
const int signal[Bin]={2,3};
int** conv=Convolution(Bin,signal,Pulse);
cout<<*(*(conv+1)+1)<<endl;
return 0;
}
int** Convolution(int arr,const int h[],int g[][Bin])
{
int s[Run][2*Bin]; //这里我想定义一个二维数组,长度都是已知的,这样写可以吗
for(int i=0;i!=Run;i++)
{
for(int t=0;t!=2*arr;t++)
{
for(int n=0;n<=t;n++)
s[i][t]+=g[i][n]*h[t-n];
}
}
return s; //请问下这个地方应该怎么写才能返回上面的二维数组
}