吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 700|回复: 5
收起左侧

[求助] C++查找队列中最小值为0,如何查找非0的最小值?

[复制链接]
jtwc 发表于 2023-6-2 11:23
本帖最后由 jtwc 于 2023-6-2 11:26 编辑

C++查找队列中最小值为0,如何查找非0的最小值?
        vector<double>vec3;  //创建队列3
                vec3.insert(vec3.begin(), a);//向队列3在开始插入变量
                int v_size = vec3.size();//取值之前要先计算一下队列中有多少个元素,取值不能超过范围

                //取vec3中的最小值
                double minvec3 = *min_element(vec3.begin(), vec3.end());
                z = minvec3;
                printf("最小值:%.f\n", z);
出来z=0;
如何查找非0的最小值?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

eofitg 发表于 2023-6-2 16:47
排序再去重输出第二个元素?
或者直接遍历一下?
一闪一闪233 发表于 2023-6-2 18:39
[C++] 纯文本查看 复制代码
vector<double> vec3;  // 创建队列3
vec3.insert(vec3.begin(), a);  // 向队列3在开始插入变量
int v_size = vec3.size();  // 取值之前要先计算一下队列中有多少个元素,取值不能超过范围

// 查找vec3中的非零最小值
double minvec3 = numeric_limits<double>::max();  // 初始化为一个较大的值
for (const auto& num : vec3) {
    if (num != 0 && num < minvec3) {
        minvec3 = num;
    }
}

if (minvec3 == numeric_limits<double>::max()) {
    printf("队列中没有非零值。\n");
} else {
    printf("非零的最小值:%.f\n", minvec3);
}

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
jtwc + 1 + 1 我很赞同!

查看全部评分

jmxjiamingxu 发表于 2023-6-2 20:45
写一个循环遍历。还要注意一下浮点数如何判0的
 楼主| jtwc 发表于 2023-6-3 09:02
eofitg 发表于 2023-6-2 16:47
排序再去重输出第二个元素?
或者直接遍历一下?

谢谢老师
 楼主| jtwc 发表于 2023-6-3 13:57
一闪一闪233 发表于 2023-6-2 18:39
[mw_shl_code=cpp,true]vector vec3;  // 创建队列3
vec3.insert(vec3.begin(), a);  // 向队列3在开始插 ...

谢谢老师
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表