求最大最小元

cencenshan 2009-04-02 08:13:15
从键盘输入一列数字,从中求出最大元和最小元,下面是算法,谁帮忙写出完整的能够运行的程序啊?也就是写出主函数,用C++,模板什么的不太懂,自己写的老有错误
template<class T>
void SortableList<T>::MaxMin(T& max,T& min)const
{
if(n==0)
return;
max=min=l[0];
for(int i=1;i<n;i++)
{
if(l[i]>max)
max=l[i];
if(l[i]<min)
min=l[i];
}
}
...全文
153 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Baby 2009-04-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hairetz 的回复:]
C/C++ code
#include <iostream.h>
template <class T>
void MaxMin(T& max,T& min,T *l,int n)
{
max=min=l[0];
for(int i=1;i <n;i++)
{
if(l[i]>max)
max=l[i];
if(l[i] <min)
min=l[i];
}
}

void main()
{
int l[11]={1,5,78,99,23,57,23,22,11,67};
int max,min;
MaxMin(max,min,l,10);
cout<<max<<" "<<min<<endl;
}
[/Quote]
对头。
cencenshan 2009-04-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hairetz 的回复:]
C/C++ code

template <class T>
void MaxMin(T& max,T& min,T *l,int n)
{
max=min=l[0];
for(int i=1;i <n;i++)
{
if(l[i]>max)
max=l[i];
if(l[i] <min)
min=l[i];
}
}

int main()
{
int l[11]={1,5,78,99,23,57,23,22,11,67};
int max,min;
MaxMin(max,min,l,10);
cout<<max<<" "<<min<<endl;
}


[/Quote]
弱弱地问一下,为什么void SortableList <T>::MaxMin(T& max,T& min)const 要改成void MaxMin(T& max,T& min,T *l,int n)
模板不清楚
liliangbao 2009-04-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hairetz 的回复:]
C/C++ code
template <class T>
void MaxMin(T& max,T& min,T *l,int n)
{
max=min=l[0];
for(int i=1;i <n;i++)
{
if(l[i]>max)
max=l[i];
if(l[i] <min)
min=l[i];
}
}

int main()
{
int l[11]={1,5,78,99,23,57,23,22,11,67};
int max,min;
MaxMin(max,min,l,10);
cout<<max<<" "<<min<<endl;
}
[/Quote]
正解!
rookie001 2009-04-02
  • 打赏
  • 举报
回复
这个可以用分治法效率较高
具体lz自己写啦。
  • 打赏
  • 举报
回复

template <class T>
void MaxMin(T& max,T& min,T *l,int n)
{
max=min=l[0];
for(int i=1;i <n;i++)
{
if(l[i]>max)
max=l[i];
if(l[i] <min)
min=l[i];
}
}

int main()
{
int l[11]={1,5,78,99,23,57,23,22,11,67};
int max,min;
MaxMin(max,min,l,10);
cout<<max<<" "<<min<<endl;
}
t1397018 2009-04-02
  • 打赏
  • 举报
回复
我用C写的,看看吧

#include<stdio.h>
void main()
{
int n,max=0,min=32767;
char c;
printf("enter:");
while(c!='\n')
{
scanf("%d%c",&n,&c);
if(n>max)
max=n;
if(n<min)
min=n;
}
printf("max=%d,max=%d",max,min);
}
zbing0203 2009-04-02
  • 打赏
  • 举报
回复
给完整啊

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧