gpt4 book ai didi

c++ - 允许嵌套逻辑 && 运算符吗?

转载 作者:行者123 更新时间:2023-11-28 03:49:03 34 4
gpt4 key购买 nike

我编写了一个用于 Octave 的 .oct 函数,它没有给出我预期的结果,我认为问题可能在于下面给出的代码片段 - 是否可以像我所做的那样嵌套逻辑 && 运算符或者是否需要使用进一步的内部 if 循环将其分离出来?

 if ((( final_side_PDF > final_uwr_PDF && final_side_PDF > final_unr_PDF ) && final_side_PDF > final_dwr_PDF ) && final_side_PDF > final_dnr_PDF)
{
market_model(ii) = 0.0;
}
else if ((( final_uwr_PDF > final_side_PDF && final_uwr_PDF > final_unr_PDF ) && final_uwr_PDF > final_dwr_PDF ) && final_uwr_PDF > final_dnr_PDF )
{
market_model(ii) = 1.0;
}
else if ((( final_unr_PDF > final_side_PDF && final_unr_PDF > final_uwr_PDF ) && final_unr_PDF > final_dwr_PDF ) && final_unr_PDF > final_dnr_PDF)
{
market_model(ii) = 2.0;
}
else if ((( final_dwr_PDF > final_side_PDF && final_dwr_PDF > final_uwr_PDF ) && final_dwr_PDF > final_unr_PDF ) && final_dwr_PDF > final_dnr_PDF)
{
market_model(ii) = -1.0;
}
else if ((( final_dnr_PDF > final_side_PDF && final_dnr_PDF > final_uwr_PDF ) && final_dnr_PDF > final_unr_PDF ) && final_dnr_PDF > final_dwr_PDF)
{
market_model(ii) = -2.0;
}
else
{
market_model(ii) = market_model(ii-1);
}

根据评论进行编辑

我想检查五个变量中的哪一个; final_side_PDF、final_uwr_PDF、final_unr_PDF、final_dwr_PDF 和 final_dnr_PDF;具有最大值并返回一个唯一的标识号; 0,1,2,-1,-2;取决于哪个是最大值。上面的代码包含在一个 main (ii) 循环中。

最佳答案

建议:

 typedef int final_t;

// From your code I assume that "final_xx" can have the same values, otherwise a std::map would be simpler.
std::multimap<final_t, double> finals;

finals.insert(std::make_pair(final_side_PDF, 0.0));
finals.insert(std::make_pair(final_uwr_PDF, 1.0));
finals.insert(std::make_pair(final_unr_PDF, 2.0));
finals.insert(std::make_pair(final_dwr_PDF, -1.0));
finals.insert(std::make_pair(final_dnr_PDF, -2.0));

auto max_final = finals.rbegin();

if(finals.count(max_final->first) == 1)
masket_model(ii) = max_final->second;
else
market_model(ii) = market_model(ii-1);

如果“final_xx”都有唯一的值,你可以让它更简单:

 typedef int final_t;

std::map<final_t, double> finals;

finals[final_side_PDF] = 0.0;
finals[final_uwr_PDF] = 1.0;
finals[final_unr_PDF] = 2.0;
finals[final_dwr_PDF] = -1.0;
finals[final_dnr_PDF] = -2.0;

auto max_final = finals.rbegin();

market_model(ii) = max_final->second;

关于c++ - 允许嵌套逻辑 && 运算符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6239278/

34 4 0
文章推荐: javascript - wp.​​customize.previewer.bind : "Cannot read property ' bind' of undefined
文章推荐: css - Bootstrap Reveal Footer 修复了在 Safari 上不工作的问题
文章推荐: html - 是 block 元素还是行内元素?