主题:新手:刚接触c++不久,简单的问题希望大家解答一下~
// 就是实现 一个序列到另一个序列的变换,可是就不知道哪里错了,是不是容器的那个地方用错啦?
#include <iostream>
#include <math.h>
#include <vector>
using namespace std;
float newseq(const vector<float> &ori_sequnce,vector<int> &index_left);
int main()
{
float a[30]={1,2,4,3,5,6,3,2,4,5,2,6,7,2,9,4,5,7,6,3,2,5,3,7,4,2,5,2,4,5};
float b[30]=newseq(a[30],0);
for(int k=0;k<30;k++)
{
cout<<"新序列b[30]="<<b[i]<<" ";
cout<<endl;
return 0;
}
}
float newseq( vector<float> &ori_sequence,vector<int> &index_left)//求新序列的函数
{
int n=ori_sequence.size();
float sum=0;
for(int i=index_left;i<index_left+n;i++)
{
sum+=ori_sequence(i);
}
float ave=sum/n; //均值
//cout<< ave;
float mse=0;
int tmp=0;
for(i=index_left;i<index_left+n;i++)
{
tmp+=(ori_sequence(i)-ave)*(ori_sequence(i)-ave);
}
mse=sqrt(tmp/n);//方差
//cout<<tmp;
float newseq[n];
for(int j=0;j<n,j++ )
{
newseq[j]=(ori_sequence[j]-ave)/mse;
}
return newseq[n];
}
谢谢各位了!
#include <iostream>
#include <math.h>
#include <vector>
using namespace std;
float newseq(const vector<float> &ori_sequnce,vector<int> &index_left);
int main()
{
float a[30]={1,2,4,3,5,6,3,2,4,5,2,6,7,2,9,4,5,7,6,3,2,5,3,7,4,2,5,2,4,5};
float b[30]=newseq(a[30],0);
for(int k=0;k<30;k++)
{
cout<<"新序列b[30]="<<b[i]<<" ";
cout<<endl;
return 0;
}
}
float newseq( vector<float> &ori_sequence,vector<int> &index_left)//求新序列的函数
{
int n=ori_sequence.size();
float sum=0;
for(int i=index_left;i<index_left+n;i++)
{
sum+=ori_sequence(i);
}
float ave=sum/n; //均值
//cout<< ave;
float mse=0;
int tmp=0;
for(i=index_left;i<index_left+n;i++)
{
tmp+=(ori_sequence(i)-ave)*(ori_sequence(i)-ave);
}
mse=sqrt(tmp/n);//方差
//cout<<tmp;
float newseq[n];
for(int j=0;j<n,j++ )
{
newseq[j]=(ori_sequence[j]-ave)/mse;
}
return newseq[n];
}
谢谢各位了!