這實際上是LabVIEW
中的程序,但我可以在labview中編寫C
腳本和/或在C
中模擬與LabVIEW
中相同的logic
。也吸引更多的答案。所以我只需要這個算法。請閱讀整個問題。如何摺疊處理的案例數量?
在我的應用我有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
。 - if var5
false
oftrue
。
因此,我得到了一個5位組合,所以我可以有32個值,因此32種類型的過濾器,即32例!
對於e.g如果var1
是空的,var2
不爲空,var3
不爲空,var4
是空的,var5
是真實的話,我有(12月13)01101。所以我選擇了第13個過濾器。
編碼這真的很忙,所以我想摺疊的情況下的數量。怎麼做?
我在找什麼是算法。
這裏是LabVIEW代碼
VAR1 - >操作員姓名,var2->導師的名字,var3->作業ID,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的數據。
不確定你在問什麼。你仍然需要處理32個不同的情況,並且需要對它們進行編碼。除非你有一些在變量之間沒有依賴關係的邏輯,那麼你只需要編寫10個例子(5個變量,每個都可以是true/false) – Mzf
@Mzf我很遺憾編碼所有這些,但我恐怕在如果未來的變量增加,那麼在未來的情況下它的對數增加。多一個變量,我必須編碼64個案例!它不切實際。這5個變量過濾了多少內容,我必須從文件中讀取:( –
對數增加不好....再次 - 如果變量之間沒有依賴關係,則線性增加 – Mzf