在处理一组数据时,想要编个程序段同时求出极大值和极小值,但是只能求出极大,
int a,b,temp;
if(recievedata-temp > 0 || temp-recievedata <0)
b = temp;
else
a = temp;
这段代码肯定有问题,但是如果同时求该怎样写呢?

解决方案 »

  1.   

    int min = 0; 
    int max = 0; 
    if(recievedata > max ) max = recievedata;
    if(recievedata < min ) min = recievedata;
      

  2.   

    你用STL里面的VECTOR直接就可以了。
      

  3.   


    std::max_element( xxx.begin(), xxx.end() );
    std::min_element( xxx.begin(), xxx.end() );
      

  4.   

    shunruo 和loops 是传统c的方法,我也知道,问题是,并不是输入一个数比较一次。
    详细点吧,我要把已经保存在txt文档里的读出来,找出最大值最小值好画图!
      

  5.   

    如果数据是存在txt里,以空格、TAB和回车做间隔的话。#include <iostream>
    #include <vector>
    #include <fstream>
    #include <iterator>
    #include <algorithm>
    using namespace std;int main()
    {


    ifstream infile( "xx.txt");
    if( infile.fail() )
    {
    return 0;
    }
    istream_iterator<int> bg( infile );
    istream_iterator<int> ed;
    vector<int>  numLst;
    copy( bg,ed, back_inserter<vector<int> >(numLst) );
    cout<<*max_element(numLst.begin(),numLst.end())<<endl
    <<*min_element(numLst.begin(),numLst.end())<<endl;
    return 0;
    }