第十六周oj刷题——Problem K: 填空题:类模板---求数组的最大值

Description

类模板---求数组的最大值

找出一个数组中的元素的最大值,数组大小为10。(用类模板来实现)

数组元素类型作为类模板的参数。

Input

10个int型数据

10个double型数据

10个char型数据

10gestring型数据

Output

10个int型数据的最大值

10个double型数据的最大值

10个char型数据的最大值

10个string型数据的最大值

Sample Input

1 3 5 7 9 8 6 4 2 0
1.2 3.4 5.66 7.8 9.9 13.4 -2.5 6.7 0 -10
a b 1 2 +  - A B p Z
guo li   zhao sun zhou zhang yang lan zhai wang

Sample Output

9
13.4
p
zhou
 
/* All rights reserved.
 * 文件名称:test.cpp
 * 作者:陈丹妮
 * 完成日期:2015年 6 月 27 日
 * 版 本 号:v1.0
 */

#include <iostream>
#include <string>
using namespace std;
template <class T>
class  Array_max         //声明类模板
{
public:                   //以下3行为成员函数原型声明
    void set_value( );    //对数组元素设置值
    T  max_value( );    //找出数组中的最大元素
private:
    T array[10];         //T类型数组
    T max;               //max用来存放数组中的最大值
};

template <class T>
void Array_max<T>::set_value( )
{
    int i;
    for(i=0;i<10;i++)
    {
        cin>>array[i];
    }
}

template <class T>
T Array_max<T>::max_value( )
{
    int i;
    max=array[0];
    for (i=0; i<10; i++)
    {
        if(array[i]>max)
            max=array[i];
    }
    return max;
}

int main( )
{
    Array_max<int>   arrmax_int; //定义对象arrmax_int,该对象中数组元素类型为整型
    arrmax_int.set_value( );      //调用arrmax_int的set_value函数,向数组元素输入数值
    cout<<arrmax_int.max_value( )<<endl;  //调用arrmax_int的max_value函数,找出数组元素中的最大值

    Array_max<double>   arrmax_double; //定义对象arrmax_double,该对象中数组元素类型为双精度型
    arrmax_double.set_value( );      //调用arrmax_double的set_value函数,向数组元素输入数值
    cout<<arrmax_double.max_value( )<<endl;  //调用arrmax_double的max_value函数,找出数组元素中的最大值

    Array_max<char>   arrmax_char; //定义对象arrmax_char,该对象中数组元素类型为字符型
    arrmax_char.set_value( );      //调用arrmax_char的set_value函数,向数组元素输入数值
    cout<<arrmax_char.max_value( )<<endl;  //调用arrmax_char的max_value函数,找出数组元素中的最大值

    Array_max<string>   arrmax_string; //定义对象arrmax_string,该对象中数组元素类型为字符串型
    arrmax_string.set_value( );      //调用arrmax_string的set_value函数,向数组元素输入数值
    cout<<arrmax_string.max_value( )<<endl;  //调用arrmax_string,的max_value函数,找出数组元素中的最大值

    return 0;
}
 
 
学习心得:不错,继续努力吧,用心搞懂一种类型题,必定是有用的!!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 21:18:22

第十六周oj刷题——Problem K: 填空题:类模板---求数组的最大值的相关文章

第十六周oj刷题——Problem C: B 求类中数据成员的最大值-类模板

Description 声明一个类模板,类模板中有三个相同类型的数据成员,有一函数来获取这三个数据成员的最大值. Input 分别输入3个整数,3个浮点数,3个字符 Output 3个整数的最大值 3个浮点数中的最大值 3个字符中的最大值 Sample Input 9 5 6 1.1 3.4 0.9 a b c Sample Output 9 3.40 c /* All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年 6 月 25 日

第十六周oj刷题——Problem D: B 友元类-计算两点间距离

Description 类Distance定义为类Point的友元类来实现计算两点之间距离的功能. Point类中有两个私有数据成员X和Y来表示点的两个坐标(横坐标和纵坐标), 成员函数需要自己定义. 主程序输入两个Point点的坐标,计算两个点之间的距离. Input 两个点的坐标(横坐标和纵坐标) Output 两个点的距离(保留了两位小数) Sample Input 1.0 1.0 2.0 2.0 Sample Output 1.41 /* All rights reserved. * 文

第十六周oj刷题——Problem I: 改错题:类中私有成员的访问

Description 改错题: 设计一个日期类和时间类,并编写全局函数display用于显示日期和时间.要求:display函数作为类外的普通函数,而不是成员函数 在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年.月.日和时.分.秒. Input 年      月       日 时      分       秒 Output 年/月/日 时:分:秒 Sample Input 2013 12 23 14 23 50 Sample Ou

第十六周oj刷题——Problem E: B 构造函数和析构函数

Description 在建立类对象时系统自动该类的构造函数完成对象的初始化工作, 当类对象生命周期结束时,系统在释放对象空间之前自动调用析构函数. 此题要求: 根据主程序(main函数)和程序执行结果,结合构造函数和析构函数相关知识,在下面的程序段基础上完成整个设计. 提示:(1)需要自定义复数类Complex,并在类中添加适当的构造函数和析构函数. (2)只提交begin到end部分的代码 Input 一个复数的实部和虚部 Output 调用相关构造函数和析构函数的运行结果(需要自己分析),

第十六周oj刷题——Problem I: 改错题:类中私有成员的訪问

Description 改错题: 设计一个日期类和时间类,并编写全局函数display用于显示日期和时间. 要求:display函数作为类外的普通函数,而不是成员函数 在主函数中调用display函数.display函数分别引用Time和Date两个类的对象的私有数据.输出年.月.日和时.分.秒. Input 年      月       日 时      分       秒 Output 年/月/日 时:分:秒 Sample Input 2013 12 23 14 23 50 Sample O

第十六周oj刷题——Problem G: E2 驾驭const

Description 引入了const关键词,用于指定"常"对象及"常"对象成员,提供了对数据的一种保护机制,这C++语言的特色之一.但由此,也引出了一些语法上的要求.这些语法要求,实际上有一套完善的原则,需要熟知. 下面的程序,要利用输入的两个数创建一个对象,并调用printxy成员函数输入两数之和.下面的程序中,begin到end部分需要改动三处,才能保证程序符合要求并正确输出.请你找出并修改过来,提交begin到end部分的代码. #include <

第十六周oj刷题——Problem J: 填空题:静态成员---计算学生个数

Description 学生类声明已经给出,在主程序中根据输入信息输出实际建立的学生对象个数,以及所有学生对象的成绩总和. Input 学生个数 对应学生个数的学生信息(姓名    年龄    成绩) Output 学生个数 所有学生的成绩之和 Sample Input 3 guo 34 98 zhang 56 60 li 23 87 Sample Output the count of student objects=3 /* All rights reserved. * 文件名称:test.

第十六周oj刷题——Problem B: 处理成绩(c++类训练)

Description 小平帮老师处理期末成绩时遇到了问题.他需要计算每个同学的平均成绩,并判断他们是否通过了期末考试不及格成绩(<60),若都通过才能pass,若没通过要说明是哪几科未通过.因此他需要两个函数,一个求平均成绩(不考虑小数),另一个判断是否通过考试,通过输出pass,否则输出未通过的科目.请你们帮帮他! 期末包括Chinese,Math,English三门课程. Input 输入学号,并输入三个个科目成绩,三个科目名称分别用Chinese,Math,English来表示 Outp

第十五周oj刷题——Problem I: C++ 习题 比较大小-类模板

Description 声明一个类模板,利用它分别实现两个整数.浮点数和字符的比较,求出大数和小数.说明:在类模板外定义各成员函数. Input 输入两个整数.两个浮点数和两个字符 Output 从大到小输出两个整数.两个浮点数和两个字符 Sample Input 3 7 45.78 93.6 a A Sample Output 7 3 93.60 45.78 a A   /* All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年