注册 登录
编程论坛 C++教室

钱能第二版习题问题

辽东学院他爹 发布于 2008-08-11 11:37, 1173 次点击
习题为:定义一个数组,数据为:6,3,7,1,4,8,2,9,11,5.请创建一个向量,把数组的初值赋给它,
然后对该向量求标准差(均方差).
请问大家,什么叫数组的初值赋给向量啊?!
9 回复
#2
xlh52252008-08-11 12:30
#include<vector>

int array[]={6,3,7,1,4,8,2,9,11,5};
std::vector<int> vec(a, a+10);
#3
blueboy820062008-08-11 13:47
楼上正解……
#4
辽东学院他爹2008-08-11 23:07
[bo][un]xlh5225[/un] 在 2008-8-11 12:30 的发言:[/bo]

#include

int array[]={6,3,7,1,4,8,2,9,11,5};
std::vector vec(a, a+10);

可是a 跟array有什么关系呢?
#5
xlh52252008-08-11 23:29
写错了嘛,a应该是array哈....
#6
辽东学院他爹2008-08-11 23:48
[bo][un]xlh5225[/un] 在 2008-8-11 23:29 的发言:[/bo]

写错了嘛,a应该是array哈....

谢谢!
#7
辽东学院他爹2008-08-11 23:49
[bo][un]xlh5225[/un] 在 2008-8-11 23:29 的发言:[/bo]

写错了嘛,a应该是array哈....

我的答案:
#include<iostream>
#include<vector>
#include<math.h>

using namespace std;

void main()
{
    int a[]={6,3,7,1,4,8,2,9,11,5};
    vector<int> b(a,a+10);
    for(int i=0;i<=10;++i)
       b.push_back(a[i]);
    int sum=0;
    for(int j=0;j<10;++j)
        sum=sum+b[j];
    //cout<<sum<<endl;
    double xba;
    xba=sum/10;   //就是在这个地方怎样不是整除?这样会精确些.
    //cout<<xba<<endl;
    double sum1=0;
    for(int k=0;k<10;++k)
        sum1=sum1+(b[k]-xba)*(b[k]-xba);
    //cout<<sum1<<endl;
    double xba1;
    xba1=sum1/10;
    double xb2;
    xb2=sqrt(xba1);
    cout<<xb2<<endl;

}
#8
xlh52252008-08-12 00:06
你这样写试试:xba=sum/10.0
#9
辽东学院他爹2008-08-15 20:10
这样写会自动关机!
#10
benhuang2008-08-15 22:53
.....
1