[求救]打斷無限迴圈 自動重頭跑程式?

各位前輩好:

我寫的小程式遇到了一個問題, 程式介紹於下

Step 1  創造一個1*9的矩陣A  內包含隨機1~9的整數

Step 2  創造一個隨機1~9的整數B  比對與A矩陣內的數字, 若都沒有重複就輸出, 若重複就重新創造B

但是問題來了...A矩陣有可能會創造出1-9皆包含的矩陣, 所以在Step 2會無限迴圈....想請教各位前輩...當無限迴圈發生時, 該如何讓程式重新回Step 1創造一個新矩陣? 

(煩請不要由判斷A矩陣內是否都不重複的方式來解決...)  希望是判斷 Step 2無法求解然後重新跑的撰寫法..

謝謝您的幫忙~

new loop.vi

你第二段講的很模糊 擬再第一個步驟產生9個陣列

第二步驟

你是要1.將該回圈B之陣列對比後沒重複就輸出,若重複則重新創造B

那是A陣列要重新陣列數值,還是A陣列沿用

改善1若A陣列因為回圈參數使用若要改變則可以用按鈕將其LOOP迴路框起

      2.若條件是條件判斷回圈內因為A陣列之數值不同則不輸出時則輸出迴圈

       因你的A陣列沒保護所以在迴圈停止後再執行一次若不望重新覆蓋

     用改善1 .按依下按鈕即可完成

你的目的就是不要從一開始產生的亂數矩陣去做條件設定嗎?而是想要從B的亂數去判斷是對A亂數矩陣式無解的狀態嗎?

如果是的話,那你就從B矩陣的輸出看是否1-9都出現過就可以了!ㄚ如果你看不懂我想我幫你寫了一個sample給你參考。

不好意思,沒有檢查過,如果有任何錯誤或疑問請告知,感謝您。

謝謝前輩的指點, 我是希望當跑到Step 2 卻發生無解的時候, 能夠從Step1重新跑起, 創造一個新的A矩陣

希望這個程式每次執行時皆有解, 若無解則會重新跑, 直到有解出現...

補充一下, 其實我的程式有好幾個sequence 我希望當程式run到某一個sequence時卻發生無解時, 能夠自動回step1跑, 直到全部的sequence皆能順利跑完才停止...

煩請前輩指點~~

你要的供能只要稍微從我給你的參考裡面把最外面的while loop 包起來全部的物件就好了押,另外你要的功能 我給你了,我實在不董你說你的很多sque...vi 要做什麼,妳直接把你的程式放上來,我幫你看一下怎麼改好了,或著你直接用我給你的稍微修改一點東西 或著加一些邏輯進去就可以了,喔對了,我的版本是8.2的唷,如果你要我幫你看你的程式 麻煩先幫我轉成8.2版本!也或著你可以把圖貼上來我看一下吧!

[QUOTE=Cwk]

補充一下, 其實我的程式有好幾個sequence 我希望當程式run到某一個sequence時卻發生無解時, 能夠自動回step1跑, 直到全部的sequence皆能順利跑完才停止...

煩請前輩指點~~

[/QUOTE]

從你程式的敘述,提出我的作法,程式已經過自動執行1億次驗證過,出現無限迴圈的機率約0.0044%,可確實跳出無限迴圈。

[QUOTE=Cwk]

各位前輩好:

我寫的小程式遇到了一個問題, 程式介紹於下

Step 1  創造一個1*9的矩陣A  內包含隨機1~9的整數

Step 2  創造一個隨機1~9的整數B  比對與A矩陣內的數字, 若都沒有重複就輸出, 若重複就重新創造B

但是問題來了...A矩陣有可能會創造出1-9皆包含的矩陣, 所以在Step 2會無限迴圈....想請教各位前輩...當無限迴圈發生時, 該如何讓程式重新回Step 1創造一個新矩陣? 

(煩請不要由判斷A矩陣內是否都不重複的方式來解決...)  希望是判斷 Step 2無法求解然後重新跑的撰寫法..

謝謝您的幫忙~

[/QUOTE]liuyunan39901.0242939815

謝謝前輩們的幫忙!!

問題已解決~~