是一道c++的题目 是类 希望有大神帮忙解决一下.
部分类的定义,需要完善#include<iostream>usingnamespacestd;classArray_max{public:voidset_value();...
部分类的定义,需要完善
#include <iostream>
using namespace std;
class Array_max
{public:
void set_value( ); //对数组元素设置值
void find_max( ); //找出数组中的最大元素
void show_max( ); //输出最大值
private:
int *array; //整型数组
int max ; //max用来存放最大值
int count; /数组元素的个数
};
void Array_max∷set_value( ) //成员函数定义,向数组元素输入数值
{ int i;
for (i=0;i<count;i++)
cin>>array[i];
}
//成员函数定义,找数组元素中的最大值
void Array_max∷find_max( )
{
//完成代码
}
//成员函数定义,输出最大值
void Array_max∷show_max( )
{ find_max(); //这句话是否必要?
cout<<″max=″<<max;}
应用程序,无需改动
int main( )
{Array_max arr1, arr2(10), arr3(10,100);
//arr1默认构造10个元素,初始值为0;
//arr2指定元素个数为10;
//arr3指定初始值为100的10个元素;
arr1.set_value(); //为数组中的元素指定用户输入值
arr1.show_max( ); //显示数组中的最大值
arr2.find_value(60, ‘>’ ); //输出数组中大于60的数据
arr3.sorted( 0 ); //将数据按照升序排序后输出
return 0;
} 展开
#include <iostream>
using namespace std;
class Array_max
{public:
void set_value( ); //对数组元素设置值
void find_max( ); //找出数组中的最大元素
void show_max( ); //输出最大值
private:
int *array; //整型数组
int max ; //max用来存放最大值
int count; /数组元素的个数
};
void Array_max∷set_value( ) //成员函数定义,向数组元素输入数值
{ int i;
for (i=0;i<count;i++)
cin>>array[i];
}
//成员函数定义,找数组元素中的最大值
void Array_max∷find_max( )
{
//完成代码
}
//成员函数定义,输出最大值
void Array_max∷show_max( )
{ find_max(); //这句话是否必要?
cout<<″max=″<<max;}
应用程序,无需改动
int main( )
{Array_max arr1, arr2(10), arr3(10,100);
//arr1默认构造10个元素,初始值为0;
//arr2指定元素个数为10;
//arr3指定初始值为100的10个元素;
arr1.set_value(); //为数组中的元素指定用户输入值
arr1.show_max( ); //显示数组中的最大值
arr2.find_value(60, ‘>’ ); //输出数组中大于60的数据
arr3.sorted( 0 ); //将数据按照升序排序后输出
return 0;
} 展开
展开全部
#include <iostream>
using namespace std;
class Array_max {
public:
Array_max(); // 默认构造函数
Array_max(int n,int value = 0); // 指定元素个数为n,初始值为value
void set_value(); //对数组元素设置值
void find_max(); //找出数组中的最大元素
void show_max(); //输出最大值
void find_value(int score,char op); // op = '<' 或 '>',显示满足 op score的值
void sorted(int op); // op == 0 或 非0,0:升排序,非0,将排序
void show(); // 显示数组元素
~Array_max() { delete []array; } // 由于使用了动态内存,必须定义析构函数
private:
int *array; //整型数组
int max; //max用来存放最大值
int count; //数组元素的个数
};
Array_max::Array_max() { // 默认构造函数
count = 10;
max = 0;
array = new int[10];
memset(array,0,10 * sizeof(int));
}
Array_max::Array_max(int n,int value) { // 指定元素个数为n,初始值为value
count = n;
max = value;
array = new int[n];
for(int i = 0; i < n; ++i)
array[i] = value;
}
//成员函数定义,向数组元素输入数值
void Array_max::set_value() {
int i;
for(i = 0;i < count;i++) cin >> array[i];
}
//成员函数定义,找数组元素中的最大值void Array_max::find_max() { //完成代码
max = array[0];
for(int i = 1; i < count; ++i)
if(array[i] > max) max = array[i];
}
//成员函数定义,输出最大值void Array_max::show_max() {
// find_max();//这句话是否必要?
cout << "max = " << max;
}
void Array_max::find_value(int score,char op) { // op = '<' 或 '>',显示满足 op score的值
for(int i = 0; i < count; ++i) {
if(op == '>') {
if(array[i] > score) cout << array[i] << " ";
}
else if(array[i] < score) cout << array[i] << " ";
}
cout << endl;
}
void Array_max::sorted(int op) { // op == 0 或 非0。0,升排序,非0,将排序
int i,j,k,t;
for(i = 0; i < count - 1; ++i) {
k = i;
for(j = i + 1; j < count; ++j) {
if(op) {
if(array[k] < array[j]) k = j;
}
else if(array[k] > array[j]) k = j;
}
if(k != i) {
t = array[k];
array[k] = array[i];
array[i] = t;
}
}
show();
}
void Array_max::show() {
for(int i = 0; i < count; ++i)
cout << array[i] << " ";
cout << endl;
}
//应用程序,无需改动int main() {
Array_max arr1,arr2(10),arr3(10,100);
//arr1默认构造10个元素,初始值为0;
//arr2指定元素个数为10;
//arr3指定初始值为100的10个元素;
arr1.set_value(); //为数组中的元素指定用户输入值
arr1.show_max(); //显示数组中的最大值
arr2.find_value(60,'>'); //输出数组中大于60的数据
arr3.sorted(0); //将数据按照升序排序后输出
return 0;
}
using namespace std;
class Array_max {
public:
Array_max(); // 默认构造函数
Array_max(int n,int value = 0); // 指定元素个数为n,初始值为value
void set_value(); //对数组元素设置值
void find_max(); //找出数组中的最大元素
void show_max(); //输出最大值
void find_value(int score,char op); // op = '<' 或 '>',显示满足 op score的值
void sorted(int op); // op == 0 或 非0,0:升排序,非0,将排序
void show(); // 显示数组元素
~Array_max() { delete []array; } // 由于使用了动态内存,必须定义析构函数
private:
int *array; //整型数组
int max; //max用来存放最大值
int count; //数组元素的个数
};
Array_max::Array_max() { // 默认构造函数
count = 10;
max = 0;
array = new int[10];
memset(array,0,10 * sizeof(int));
}
Array_max::Array_max(int n,int value) { // 指定元素个数为n,初始值为value
count = n;
max = value;
array = new int[n];
for(int i = 0; i < n; ++i)
array[i] = value;
}
//成员函数定义,向数组元素输入数值
void Array_max::set_value() {
int i;
for(i = 0;i < count;i++) cin >> array[i];
}
//成员函数定义,找数组元素中的最大值void Array_max::find_max() { //完成代码
max = array[0];
for(int i = 1; i < count; ++i)
if(array[i] > max) max = array[i];
}
//成员函数定义,输出最大值void Array_max::show_max() {
// find_max();//这句话是否必要?
cout << "max = " << max;
}
void Array_max::find_value(int score,char op) { // op = '<' 或 '>',显示满足 op score的值
for(int i = 0; i < count; ++i) {
if(op == '>') {
if(array[i] > score) cout << array[i] << " ";
}
else if(array[i] < score) cout << array[i] << " ";
}
cout << endl;
}
void Array_max::sorted(int op) { // op == 0 或 非0。0,升排序,非0,将排序
int i,j,k,t;
for(i = 0; i < count - 1; ++i) {
k = i;
for(j = i + 1; j < count; ++j) {
if(op) {
if(array[k] < array[j]) k = j;
}
else if(array[k] > array[j]) k = j;
}
if(k != i) {
t = array[k];
array[k] = array[i];
array[i] = t;
}
}
show();
}
void Array_max::show() {
for(int i = 0; i < count; ++i)
cout << array[i] << " ";
cout << endl;
}
//应用程序,无需改动int main() {
Array_max arr1,arr2(10),arr3(10,100);
//arr1默认构造10个元素,初始值为0;
//arr2指定元素个数为10;
//arr3指定初始值为100的10个元素;
arr1.set_value(); //为数组中的元素指定用户输入值
arr1.show_max(); //显示数组中的最大值
arr2.find_value(60,'>'); //输出数组中大于60的数据
arr3.sorted(0); //将数据按照升序排序后输出
return 0;
}
展开全部
int tmp = array[0] ;
for (i=1;i<count;i++)
{
if(array[i]>tmp )
tmp = array[i];
}
max = tmp ;
for (i=1;i<count;i++)
{
if(array[i]>tmp )
tmp = array[i];
}
max = tmp ;
追问
还有
arr2.find_value(60, ‘>’ ); //输出数组中大于60的数据
arr3.sorted( 0 ); //将数据按照升序排序后输出
追答
指针需要分配内存的。
int *array; //整型数组
find_value(int &valve,const char & ch) const
{
int flag = 0;
if(ch=='>') flag = 1;
switch(flag)
{
case 1:
for (i=1;ivalve)
cout << array[i] << endl;
}
break;
default:
break
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void Array_max∷find_max( )
{
max = 0;
for(int i = 0;i< count;i++)
{
if(array[i] > max)
max = array[i];
}
}
那个find_max还是有必要的,不然max值未初始化~~
{
max = 0;
for(int i = 0;i< count;i++)
{
if(array[i] > max)
max = array[i];
}
}
那个find_max还是有必要的,不然max值未初始化~~
追问
arr2.find_value(60, ‘>’ ); //输出数组中大于60的数据
arr3.sorted( 0 ); //将数据按照升序排序后输出
还有这个对应的申明和定义没写
追答
void find_value(int value, char cmp)
{
int i = 0;
if(cmp == '>')
{
for(i=0;i value)
coutarray[j])
{
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
for(int i = 0;i<count;i++)
cout<<array[i]<<" ";
cout<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询