有誰能幫我解這題困難的VB程式?謝謝!
題目:
試寫一個名稱為PloyAdd的Sub程序,該程序有三個引數,前面兩個引數為相減的陣列,第三個為相減傳回的陣列。若三個陣列都是含有五個陣列原素,欲相減的陣列分別由鍵盤輸入到陣列中,經過呼叫PloyAdd程序,將兩個陣列相減,再將相減後的結果傳回主程式的陣列中,再顯示相減的結果。(沒錯!所謂相減陣列是指元素值相減)
拜託~~很急~~如果有會的人請幫我解!
2006-12-20 04:59:43 · 2 個解答 · 發問者 琪琪 1 in 電腦與網際網路 ➔ 程式設計
可以的話順便也把解釋寫在裡面我比較容易理解
2006-12-21 07:39:13 · update #1
Sub Main()
Dim x As Integer() = New Integer(4) {} ' 宣告五個陣列元素的陣列
Dim y As Integer() = New Integer(4) {}
Dim z As Integer() = New Integer(4) {}
' 讀入 x 陣列的五個陣列元素
For i As Integer = 0 To x.Length - 1 ' 從 0 到 4 (x.Length - 1) 共 5 個
Console.Write("x({0})=", i) ' 提示輸入 x 陣列的第 i 個元素
x(i) = Val(Console.ReadLine) ' 讀入 x 陣列的第 i 個元素
Next
Console.WriteLine() ' 跳一行
' 讀入 y 陣列的五個陣列元素
For i As Integer = 0 To y.Length - 1
Console.Write("y({0})=", i) ' 提示輸入 y 陣列的第 i 個元素
y(i) = Val(Console.ReadLine) ' 讀入 y 陣列的第 i 個元素
Next
Console.WriteLine() ' 跳一行
' 顯示將要做什麼
' 如果你要做相減, "+y陣列" 要改成 "-y陣列"
Console.WriteLine("x陣列+y陣列=z陣列")
PloyAdd(x, y, z) ' 叫副程式
' 印出結果
For i As Integer = 0 To z.Length - 1
Console.WriteLine("z({0})={1}", i, z(i))
Next
Console.Read()
End Sub
' 要做相減, "+ b(i)" 要改成 "- b(i)"
Sub PloyAdd(ByVal a As Integer(), ByVal b As Integer(), ByRef c As Integer())
For i As Integer = 0 To a.Length - 1
c(i) = a(i) + b(i)
Next
希望對你有幫助
2006-12-24 01:31:14 · answer #1 · answered by JJ 7 · 0⤊ 0⤋
Private Sub Command1_Click()
Dim A(1 To 5), B(1 To 5), C(1 To 5), I%, J%, S$
For I = 1 To 2
For J = 1 To 5
Do
S = InputBox("請輸入第" & I & "個陣列的第" & J & "個數字")
If S = "" Then Exit Sub
Loop Until IsNumeric(S)
If I = 1 Then
A(J) = S
Else
B(J) = S
End If
Next
Next
Call PloyAdd(A(), B(), C())
Print "第1個陣列 :", Join(A, " , "); Tab(0)
Print "第2個陣列 :", Join(B, " , "); Tab(0)
Print "2陣列相減 :", Join(C, " , ")
End Sub
Sub PloyAdd(A(), B(), C())
Dim I%
For I = 1 To 5
C(I) = A(I) - B(I)
Next
End Sub
2006-12-21 13:07:30 補充:
Loop Until IsNumeric(S) >輸入是數字就離開Do~Loop
Join(A, " , ")> 把A陣列的內容用" , "隔開,以字串方式輸出
Sub PloyAdd(A(), B(), C()) = Sub PloyAdd(ByRef A(), ByRef B(), ByRef C()) 就是傳址,白話點說就是ABC3個變數會隨著PloyAdd裡面的運算而改變,因此經過C(I) = A(I) - B(I)後,C陣列就有A-B的結果,傳回去就可得答案.
2006-12-20 14:30:19 · answer #2 · answered by W.J.S. 7 · 0⤊ 0⤋