gpt4 book ai didi

c - 崩数的情况下如何处理?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:30:42 26 4
gpt4 key购买 nike

这实际上是 LabVIEW 中的一个程序,但我可以在 labview 中编写 C 脚本和/或在 中模拟相同的逻辑 LabVIEWC 一样。也为了吸引更多的答案。所以我主要只需要算法。请阅读整个问题。

在我的应用程序中,我有 5 个变量:

var1 -> type string,
var2 -> type string,
var3 -> type array of strings,
var4 -> type array of strings,
var5 -> type boolean

现在这 5 个变量控制着我应该如何过滤从文件中读取的数据。
为此,我有一个开关盒,它会根据这些输入执行操作。

为了控制开关,我这样做:

  • 如果 var1 为空则 false
  • 如果 var2 为空则为 false。
  • 如果 var3 是空数组则 false
  • 如果 var4 是空数组则 false
  • 如果 var5 falsetrue

所以我得到一个 5 位组合,所以我可以有 32 个值,因此有 32 种类型的过滤器,即 32 种情况!

例如,如果 var1 为空,则 var2 不为空,var3 不为空,var4 为空,var5 为真,那么我有 01101(12 月 13 日)。所以我选择第 13 个过滤器。

编写此代码真的很忙,所以我想折叠案例数量。怎么做?
我正在寻找的是一种算法。

这是labview代码

This is the case conrol

var1 -> 运算符(operator)姓名, var2->主管姓名, var3->JobID, var4-> 多批处理选择, var5->无效日期。

编辑。 ;例如
如果 var1 和 var3 不为空,那么我必须从文件中读取数据,使其包含 var1 和 var2 数据。

例如2
现在,如果 var1、var3、var5 不为空,那么我需要选择数据,以便它具有 var1、var3 和 var5 共有的数据。

例如 3
如果我有 var1、var3、var4、var5,我需要获取包含 var1 var3 var4 var5 共有的数据的数据。

例如4
如果我只有 var3,我只需要获取与 var3 相关的数据。

最佳答案

有多种方法可以执行您要求/提出的改进建议。

  1. 对于您执行的每个测试,都有一个嵌套的 Case 结构。此处的建议:如果您有某些更可能失败的测试,请将它们放在外面。这样你就可以优化执行。

  2. 您已有的 Case 结构可以通过使用范围来处理多个 case。例如,您可以通过在大小写选择器框中键入 1..10 来处理数字 1 到 10。您可以通过连续处理某些案例来减少案例数量。

  3. 我不确定您使用的是哪个版本的 LabVIEW,但是您正在进行的一些测试可以稍微简化。例如,我相信在 LabVIEW 2011 及更高版本中,您可以使用特殊的空数组测试和空字符串测试函数。

  4. 另外,不要使用 5 个 Insert Into Array 函数,而是尝试使用一个扩展的 Build Array 函数来保存您拥有的 bool 值的数量。

我认为“指数增长”是这里指的增长类型,如果你有更多 bool 值的话。案例数(理论上)是 2^(变量数)。

关于c - 崩数的情况下如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16806296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com