[VB6 ] 求助!自訂變數型態「複數」的問題

看板Visual_Basic作者 (琴鍵)時間18年前 (2007/04/27 14:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
最近需要寫一份程式,必須可以運算複數的程式。 由於VB似乎沒有內建複數的這種資料型態。 所以我就新增一個模組自訂資料型態 Complex: Type Complex r As Single i As Single End Type '------複數相加----------- Public Function Add(a As Complex, b As Complex) As Complex Add.r = a.r + b.r Add.i = a.i + b.i End Function '------複數相減----------- Public Function Subtract(a As Complex, b As Complex) As Complex Subtract.r = a.r - b.r Subtract.i = a.i - b.i End Function '------複數相乘----------- Public Function Multiply(a As Complex, b As Complex) As Complex Multiply.r = (a.r * b.r) - (a.i * b.i) Multiply.i = (a.r * b.i) + (a.i * b.r) End Function '------複數相除----------- Public Function Divide(a As Complex, b As Complex) As Complex Dim d As Single d = b.r * b.r + b.i * b.i Divide.r = (a.r * a.r + a.i * b.i) / d Divide.i = (a.i * b.r - a.r * b.i) / d End Function 問題來了,由於之後的運算需要計算複數的n次方 我現在只會在表單中用下面這樣(例如運算複數x的n次方), 可是感覺不好,因為n越大就要運算越多次 Dim t as Complex Dim k as Integer t = x For k = 1 to n-1 t = Multiply(x,t) next k 請問各位有沒有其他方法,或是能直接在模組內設Function就好? 如果是你們會怎麼寫呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.230.75
文章代碼(AID): #16CPbgJr (Visual_Basic)
文章代碼(AID): #16CPbgJr (Visual_Basic)