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

应用函数模板求数组中的最大数,要求分别处理整型、浮点型数据。

y529879803 发布于 2017-03-12 21:26, 3459 次点击
请问这个问题应该怎么做啊。。。我做了但是错了。。。书上举的例子是两个数求和的,共同点好少啊。
#include<iostream.h>
#include<conio.h>      //getch()要用到此头文件
#include<stdlib.h>     //system("cls")清屏函数用到此头文件
#include<string.h>
#include<math.h>
#define num 2






template <class T>
T max ( T a[num])
{
    T b;
int d[num];
int c=d[0];
for(c=0;c<num;c++){
if (d[c]>c)
c=b=d[c];
}

return (b);
}

int main(){
    int d[num];
    int c;
    for(c=0;c<num;c++)
        cin>>d[c];
    max (d);
    cout<<c;
}最后输出的是2,不知道应该怎么做了。。。求助,拜托了!谢谢!
3 回复
#2
rjsp2017-03-13 18:13
最后输出的是2

首先应该告诉别人,你想实现什么功能、输入什么、期待输出什么、实际输出什么?

#include <cstddef>

template<typename T, size_t N>
T max( const T (&arr)[N] )
{
    T t = arr[0];
    for( size_t i=0; i!=N; ++i )
    if( t < arr[i] )
        t = arr[i];
    return t;
}

#include <iostream>
using namespace std;

int main( void )
{
    int d[2];
    for( size_t i=0; i!=sizeof(d)/sizeof(*d); ++i ) // C++17可直接用size(d)
        cin >> d[i];

    cout << max(d) << endl;
}

输入 1 2
输出 2

输入 2 1
输出 2
#3
y5298798032017-03-13 20:20
回复 2楼 rjsp
dalao,我想要做一个函数模板来选出并输出数组里的最大值。。。我没做出来,教教我吧!
输入数组 通过函数模板选出并输出数组里的最大值,至少要有一个整型数组和一个浮点数组。。。
#4
rjsp2017-03-14 09:16
回复 3楼 y529879803
2楼不是写了嘛
1