Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
55
Task/Spiral-matrix/Visual-Basic-.NET/spiral-matrix.vb
Normal file
55
Task/Spiral-matrix/Visual-Basic-.NET/spiral-matrix.vb
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
Module modSpiralArray
|
||||
Sub Main()
|
||||
print2dArray(getSpiralArray(5))
|
||||
End Sub
|
||||
|
||||
Function getSpiralArray(dimension As Integer) As Object
|
||||
Dim spiralArray(,) As Integer
|
||||
Dim numConcentricSquares As Integer
|
||||
|
||||
ReDim spiralArray(dimension - 1, dimension - 1)
|
||||
numConcentricSquares = dimension \ 2
|
||||
If (dimension Mod 2) Then numConcentricSquares = numConcentricSquares + 1
|
||||
|
||||
Dim j As Integer, sideLen As Integer, currNum As Integer
|
||||
sideLen = dimension
|
||||
|
||||
Dim i As Integer
|
||||
For i = 0 To numConcentricSquares - 1
|
||||
' do top side
|
||||
For j = 0 To sideLen - 1
|
||||
spiralArray(i, i + j) = currNum
|
||||
currNum = currNum + 1
|
||||
Next
|
||||
' do right side
|
||||
For j = 1 To sideLen - 1
|
||||
spiralArray(i + j, dimension - 1 - i) = currNum
|
||||
currNum = currNum + 1
|
||||
Next
|
||||
' do bottom side
|
||||
For j = sideLen - 2 To 0 Step -1
|
||||
spiralArray(dimension - 1 - i, i + j) = currNum
|
||||
currNum = currNum + 1
|
||||
Next
|
||||
' do left side
|
||||
For j = sideLen - 2 To 1 Step -1
|
||||
spiralArray(i + j, i) = currNum
|
||||
currNum = currNum + 1
|
||||
Next
|
||||
sideLen = sideLen - 2
|
||||
Next
|
||||
getSpiralArray = spiralArray
|
||||
End Function
|
||||
|
||||
Sub print2dArray(arr)
|
||||
Dim row As Integer, col As Integer, s As String
|
||||
For row = 0 To UBound(arr, 1)
|
||||
s = ""
|
||||
For col = 0 To UBound(arr, 2)
|
||||
s = s & " " & Right(" " & arr(row, col), 3)
|
||||
Next
|
||||
Debug.Print(s)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
End Module
|
||||
Loading…
Add table
Add a link
Reference in a new issue