zoukankan      html  css  js  c++  java
  • Tuple初探

    /*****************版权声明************************/

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang, 邮箱地址:lxyjiang@gmail.com

    /*****************问题提出************************/

    先来一个问题,这个问题来自于慕课网的问答区 http://www.imooc.com/wenda/detail/340254

    其原问题如下:

      如果语文数学两门课程的成绩,甲同学分别是80分和90分,乙同学是90分和80分,丙同学是70和60分,这时比较甲同学和乙同学的成绩,只能说语文较差,数学较好,综合到一起就属于无法比较,但对丙同学可以比较,可以说甲和乙同学的成绩都比丙同学好。一般情况,设有一个三元向量的集合,若其中有向量P=(p1, p2, p3), Q=(q1, q2, q3), 规定P≦Q 当且仅当 p1≦q1, p2≦q2, p3≦q3 。其中一个向量称为是一个极小元素,当且仅当它只 ≦ 它自己。例如如下三个三元向量组成了向量组(80,90,100),(90,80,70),(60,70,60),其中只有一个最小元素,是(60,70,60)。请编写程序,输入n个三元向量,输出其中最小元素的数目。

    改一下:因为并不晓得他定义的什么是最小元素,那暂且就写个初始版本吧,找最小值。

    等我沟通好了再修改处理。

    /*****************解决思路************************/

    既然是多元且大于2,那么就不能采用pair了,用tuple简单好解决

    至于找出 ,我们不要重复造轮子,用STL的min_element就完全可以解决了。

    实现代码如下:

     1 /**
     2 *
     3 *Copyright : 小鸭
     4 *Email:lxyjiang@gmail.com
     5 *Blog address:http://www.cnblogs.com/xiaoyajiang/
     6 *First edit time:2017/01/09 17:20
     7 *
     8 ***************************************************/
     9 
    10 #include <iostream>
    11 #include <vector>
    12 #include <tuple>
    13 #include <utility>
    14 #include <algorithm>
    15 using std::cout;
    16 using std::endl;
    17 using std::vector;
    18 using std::tuple;
    19 using std::make_tuple;
    20 using std::get;
    21 
    22 int main()
    23 {
    24 vector<tuple<int, int, int>> vec { make_tuple(80, 90, 100),
    25 make_tuple(90, 80, 70),
    26 make_tuple(60, 70, 60) };
    27 
    28 auto m = *min_element(vec.begin(), vec.end());
    29 cout << "minimal vector is " << "("
    30 << get<0>(m) << ", "
    31 << get<1>(m) << ", "
    32 << get<2>(m)
    33 << ")"
    34 << endl;
    35 return 0;
    36 }
  • 相关阅读:
    data:image/png;base64
    需要去了解的知识
    【转】react的高阶组件
    几个css问题
    antd中form中resetFields清空输入框
    react中map循环中key取值问题
    react中父组件调用子组件的方法
    hive 初始化 时间问题 The server time zone value 'EDT' is unrecognized
    centos7安装MySQL8 无法修改密码 无法修改密码策略
    虚拟机 Linux 不能连 xshell 不能上网
  • 原文地址:https://www.cnblogs.com/xiaoyajiang/p/6266202.html
Copyright © 2011-2022 走看看