编写一个使用数组类模板Array对数组求最大值和求元素和的程序, 真的不知道哪儿错了 求大神解答
#include<iostream>usingnamespacestd;template<classElemType>classArray{private:ElemTyp...
#include<iostream>
using namespace std;
template<class ElemType>
class Array
{
private:
ElemType *elem;
int size;
public:
Array(ElemType a[],int sz):elem(a),size(sz){}
ElemType Max();
ElemType Sum();
void show();
};
template<class ElemType>
ElemType Array<ElemType>::Max()
{
ElemType max=elem[0];
for(int=1;i<size;i++)
{
if(max<elem[i]) max=elem[i];
}
return max;
}
template<class ElemType>
ElemType Array<ElemType>::Sum()
{
ElemType sum=0;
for (int i=0;i<size;i++)
{
sum+=selem[i];
}
return sum;
}
template<class ElemType>
void Array<ElemType>::show()
{
for (int i=0;i<size;i++)
cout<<elem[i]<<" ";
}
int main(void)
{
int a[]={1,2,3,4,5,6};
Array<int>obj(a,6);
cout<<"原数组各元素为:"<<obj.show()<<endl;
cout<<"最大值为:"<<obj.Max()<<endl;
cout<<"元素和为:"<<obj.Sum()<<endl;
system("PAUSE");
return 0;
} 展开
using namespace std;
template<class ElemType>
class Array
{
private:
ElemType *elem;
int size;
public:
Array(ElemType a[],int sz):elem(a),size(sz){}
ElemType Max();
ElemType Sum();
void show();
};
template<class ElemType>
ElemType Array<ElemType>::Max()
{
ElemType max=elem[0];
for(int=1;i<size;i++)
{
if(max<elem[i]) max=elem[i];
}
return max;
}
template<class ElemType>
ElemType Array<ElemType>::Sum()
{
ElemType sum=0;
for (int i=0;i<size;i++)
{
sum+=selem[i];
}
return sum;
}
template<class ElemType>
void Array<ElemType>::show()
{
for (int i=0;i<size;i++)
cout<<elem[i]<<" ";
}
int main(void)
{
int a[]={1,2,3,4,5,6};
Array<int>obj(a,6);
cout<<"原数组各元素为:"<<obj.show()<<endl;
cout<<"最大值为:"<<obj.Max()<<endl;
cout<<"元素和为:"<<obj.Sum()<<endl;
system("PAUSE");
return 0;
} 展开
1个回答
展开全部
1. Max()中,语句 for(int=1;i<size;i++)中少了 i 。应为 for(int i=1;i<size;i++)
2. Sum()中,语句 sum+=selem[i]; 中多了 s 。应为 sum+=elem[i];
3. main()中语句 cout<<"原数组各元素为:"<<obj.show()<<endl; 应拆分为:
cout<<"原数组各元素为:";
obj.show(); // show()为void类型
cout <<endl;
2. Sum()中,语句 sum+=selem[i]; 中多了 s 。应为 sum+=elem[i];
3. main()中语句 cout<<"原数组各元素为:"<<obj.show()<<endl; 应拆分为:
cout<<"原数组各元素为:";
obj.show(); // show()为void类型
cout <<endl;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询