1

txtBox1というテキストボックス、txtbox2という2番目のテキストボックス、ラベル、ボタンがあります。次のような関数を作成する必要があります

  1. 2つの整数パラメータを受け入れ、文字列を返します。
  2. これらのパラメータで渡された整数に基づいて2次元配列を作成します。最初の整数パラメーターはtxtbox1を表し、2番目の整数パラメーターはtxtbox2を表します。
  3. ネストされたforループを使用して、1から始まる増分値で配列要素を埋めます
  4. ループ構造の一部として、文字列変数内のすべての要素値を追跡し、それらをコンマで区切ります。たとえば、ユーザーがtxtbox1に3を入力し、txtbox2に5を入力してボタンをクリックすると、次のような配列が得られます。

    :Length=15
    (0,0): 1    
    (0,1): 2
    (0,2): 3
    (0,3): 4
    (0,4): 5
    (1,0): 6
    (1,1): 7
    (1,2): 8
    (1,3): 9
    (1,4): 10 
    (2,0): 11
    (2,1): 12
    (2,2): 13
    (2,3): 14
    (2,4): 15    
    

    また、要素に入力される値は、1、2、3、4、5、6、7、8、9、10、11、12、13、14、および15になります。

  5. 返される文字列は、「配列は3 x 5で、配列要素の値は1,2,3,4,5,6,7,8,9,10,11,12,13,14」の形式になります。 、15インチ。
  6. ラベルにこの文字列値を入力します。

これが私がこれまでに持っているものです...

Shared Function myArray(int1 As Integer, int2 As Integer) As String

    Dim Array(int1 - 1, int2 - 1) As Integer
    Dim i As Integer
    Dim j As Integer
    Dim counter As Integer = 1

    For i = 0 To int1 - 1
        For j = 0 To int2 - 1
            Array(i, j) = counter
            counter += 1
        Next
    Next

    Return Array(i, j)

End Function
4

1 に答える 1

0

さて、あなたはほとんどそれを持っていました。私はあなたが#4だけで立ち往生していると仮定しています。また、間違った構文を入力した場合は失礼します。長い間VBを実行しておらず、メモリからこれを実行しています。

あなたが持っていたものを見てみましょう:

For i as integer = 0 To int1 - 1
    For j as integer = 0 To int2 - 1
        Array(i, j) = counter
        counter += 1

ここではcounter、配列に増分値を入力するために使用しています。この変数を別の文字列変数で使用し、それらの間にコンマを追加するだけです。

最初:文字列変数を上部に追加します:

Dim Array(int1 - 1, int2 - 1) As Integer
Dim i As Integer
Dim j As Integer
Dim counter As Integer = 1
Dim output as String = nothing

次に、その変数をループで使用します。

For i = 0 To int1 - 1
    For j = 0 To int2 - 1
        Array(i, j) = counter
        output += "" & counter & ", "
        counter += 1
    Next
Next

最後に、配列内の要素の代わりにreturn送信するように変更しますoutput

return output

最後の「、」が表示されないように文字列をフォーマットする場合は、Strings.Left関数を確認してください。それは次のようになります:

output = Left(output, Len(output) - 2) 'I am not sure if this is a 2 or 3, run and test

わかりました、それがお役に立てば幸いです。ご不明な点がございましたら、お気軽にお問い合わせください。

于 2012-05-29T16:49:48.817 に答える