我寫的一段VB程式需要洗掉陣列中為零或為負的元素,整個程式大致的結構如下:
For number = nmin To nmax
'第一段
For j = 1 To popsize
For i=1 To number
q(j,i)=...
Next i
Next j
...'其它操作
'第二段
For i=1 To number
Write #1,q(j,i)=...
Next i
Next number
所有變數已經定義,現在我需要將第一段回圈得到的陣列q(number)中為零或為負的元素洗掉,得到的新陣列作為結果輸出。但是洗掉元素后number大小在變,好像又會影響到最外層的回圈。所以在糾結洗掉元素應在第一段程式中完成,還是第一段程式結束后完成。求高手解答,給出具體程式,非常感謝。
uj5u.com熱心網友回復:
倒序洗掉.....uj5u.com熱心網友回復:
具體一點,在第一段程式結束后,倒序洗掉為負或為零的元素嗎?那number變化會不會對最外層For number=nmin To nmax的回圈有影響?謝謝。uj5u.com熱心網友回復:
不好意思,看錯了還以為是一維的。二維陣列怎么能任意洗掉其中某個元素?
uj5u.com熱心網友回復:
你的程式有問題,第二段中的q(j,i)那個j是固定的?uj5u.com熱心網友回復:
二維的不好洗掉。一維的倒序洗掉。
uj5u.com熱心網友回復:
不好意思,剛才投錯票了。外層大回圈里面有next j ,漏掉了,額。謝謝你的回復噢。
uj5u.com熱心網友回復:
個人覺得不用洗掉,定義一個資料結構,一個Boolean型,表示資料是否有效,如果資料是整數就設定為True,反之設定為False,然后再用For回圈檢查這個屬性,并建立一個陣列,將True屬性的資料依次存入這個陣列即可。uj5u.com熱心網友回復:
連附加的資料結構都不需要。既然小于等于 0 的資料是無效的,將這些值當作 NULL 來處理就可以了。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/130499.html
標籤:VB基礎類
下一篇:VB操作access問題,謝謝!
