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

求助一个有关数组求和的C++程序

zy0704 发布于 2010-03-24 15:01, 2118 次点击
给定两个数组M={﹙k1,t2),…,(ki-1,ti),…,(kn-1,tn)}
N={﹙k1',t2),…,(ki-1',ti),…,(kn-1',tn)}
求|(k1-k1')+......+(ki-1-ki-1')+......(kn-1-kn-1')|/(n-2)
当中的1,2,i-1,n-1,n都是下标
要写出c++程序
希望会的朋友不吝指教啊    想了好久没做出来


[ 本帖最后由 zy0704 于 2010-3-24 15:50 编辑 ]
8 回复
#2
hzh5122010-03-24 16:51
帮你一下!
#include<iostream>
#define Vol 3


class Array
{
private:
    int k;
    int t;
public:
    void Initial(int tempk,int tempt)
    {
        k=tempk;
        t=tempt;
    }
    int Get_k()
    {
        return k;
    }
};

float func(Array M[],Array N[]);

void Initial(Array TempArray[]);
int main()
{
    Array M[Vol];
    Array N[Vol];
    std::cout<<"Initializing the two Array!\n";
    Initial(M);
    Initial(N);
    float Sum=0;
    Sum=func(M,N);
    std::cout<<"The Result is "<<Sum<<std::endl;
    return 0;
}

float func(Array M[],Array N[])
{
    int sum=0,i;
    for(i=0;i<Vol;i++)
        sum+=(M[i].Get_k()-N[i].Get_k());
    if(sum<0)
        sum=0-sum;
    return (float)sum/(float)(Vol-2);
}

void Initial(Array TempArray[])
{
    int Tk,Tt;
    for(int i=0;i<Vol;i++)
    {
        std::cout<<"Array["<<i<<"]\n";
        std::cin>>Tk>>Tt;
        TempArray[i].Initial(Tk,Tt);
    }
}
#3
zy07042010-03-24 16:59
回复 2楼 hzh512
非常感谢
正急着要这个
#4
hahayezhe2010-03-24 17:16
接分
#5
胡马平2010-03-24 17:54
都解决了啊!
#6
hzh5122010-03-24 18:26
希望你能投我一票!我想作版主!
#7
asdjc2010-03-27 11:42
呵呵,解得不错啊!不过我觉得#define Vol 3应改为int const vol=n(你要的n值);
#8
apull2010-03-27 14:08
后面有Array M[Vol];这里要用define Vol
#9
hzh5122010-03-27 14:45
回复 7楼 asdjc
版主的做法,让我很惊诧!
1