|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
Bij het declareren van een arrayvariabele zonder het dimensioneren van de array ( zonder opgeven van een upperbound ) kan men de array gaan initialiseren. Die doet men aan de hand van een "array initializer", wat een opsomming is tussen accolades ( {...} ) van de elementenwaarden. Visual Basic 2010 Broncode Module Example Sub Main() Dim indexFirstDimension As Integer Dim indexSecondDimension As Integer Dim indexThirdDimension As Integer Dim row() As Integer = {1, 2, 3, 4, 5, 6} For indexFirstDimension = 0 To 5 Console.Write(row(indexFirstDimension) & " ") Next Console.WriteLine() Dim matrix(,) As Integer = {{1, 2, 3, 4, 5, 6}, _ {7, 8, 9, 10, 11, 12}} For indexFirstDimension = 0 To 1 For indexSecondDimension = 0 To 5 Console.Write(matrix(indexFirstDimension, _ indexSecondDimension) & " ") Next Next Console.WriteLine() Dim cube(,,) As Integer = {{{1, 2, 3}, _ {4, 5, 6}}, _ {{7, 8, 9}, _ {10, 11, 12}}, _ {{13, 14, 15}, _ {16, 17, 18}}, _ {{19, 20, 21}, _ {22, 23, 24}}} For indexFirstDimension = 0 To 3 For indexSecondDimension = 0 To 1 For indexThirdDimension = 0 To 2 Console.Write(cube(indexFirstDimension, _ indexSecondDimension, _ indexThirdDimension) & " ") Next Next Next Console.ReadLine() End SubEnd ModuleDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output 1 2 3 4 5 6
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Zoals uit regel (1) en (2) blijkt kan je ook meerdimensionale arrays initialiseren. Hierbij moet je de waarden voor de verschillende dimensies opnieuw tussen accolades ( {...} ) plaatsen.
Men somt de waarden eigenlijk op zoals ze ook in het geheugen zitten gestockeerd ( oplopend per laatste dimensie ) :
row : 1st index : 0 1 2 3 4 5 value : 1 2 3 4 5 6 matrix : 1st index : 0 0 0 0 0 0 1 1 1 1 1 1 2nd index : 0 1 2 3 4 5 0 1 2 3 4 5 value : 1 2 3 4 5 6 7 8 9 10 11 12 matrix : 1st index : 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 2nd index : 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 3rd index : 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 value : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 7.9.1. OefeningOpgave :
Maak een programma dat steeds een positief geheel getal ( 0 < getal < 4000 ) inleest en omzet naar een Romeins getal.
Hieronder zie je de gebruikte symbolen en symbolen-combinaties : I = 1, IV = 4, V = 5, IX = 9, X = 10, XL = 40, L = 50, XC = 90, C = 100, CD = 400, D = 500, CM = 900, M = 1000 Console Application Output Value ?
-1
Value ?
4000
Value ?
1
I
Value ?
3999
MMMCMXCIX
Value ?
2789
MMDCCLXXXIX
Value ? Oplossing : Visual Basic 2010 Broncode Module ExerciseSolution Sub Main() Dim symbols() As String = _ { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"} Dim units() As Integer = _ {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1} Dim value, index As Integer Do Do Console.WriteLine( "Value ?") value = Console.ReadLine() Loop Until value < 4000 AndAlso value >= 0 For index = 0 To 12 Do While value >= units(index) Console.Write(symbols(index)) value -= units(index) Loop Next Console.WriteLine() Loop End SubEnd ModuleDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|