Oplossingen oefeningen arrays
Sub Array01()
Dim astrVoornamen(10), strEerste As String
Dim intTeller As Integer
For intTeller = 1 To 10
astrVoornamen(intTeller) = InputBox("Naam
" & CStr(intTeller) & ": ")
If intTeller = 1 Then
strEerste =
astrVoornamen(intTeller)
Else
If astrVoornamen(intTeller)
< strEerste Then
strEerste =
astrVoornamen(intTeller)
End If
End If
Next intTeller
Debug.Print strEerste
End Sub
terug
Sub Array02()
Dim astrVoornamen(5) As String
Dim aintPunten(5), intTeller, intSom, intGemiddelde As Integer
intSom = 0
For intTeller = 1 To 5
astrVoornamen(intTeller) = InputBox("Naam
" & CStr(intTeller) & ": ")
aintPunten(intTeller) = InputBox("Punten
voor " & astrVoornamen(intTeller) & ": ")
intSom = intSom + aintPunten(intTeller)
Next intTeller
'Gemiddelde berekenen
intGemiddelde = CInt(intSom /5)
Debug.Print intGemiddelde
'Verschil met gemiddelde afdrukken
For intTeller = 1 To 5
Debug.Print astrVoornamen(intTeller); ":
";
Debug.Print aintPunten(intTeller) -
intGemiddelde
Next intTeller
End Sub
Sub Array03()
Dim aintLengte(150 To 200), intTeller, intLengte As Integer
'Tellers initialiseren
For intTeller = 150 To 200
aintLengte(intTeller) = 0
Next intTeller
'Lengte leerlingen intikken
For intTeller = 1 To 1000
intLengte = InputBox("Lengte v/d
leerling")
aintLengte(intLengte) = aintLengte(intLengte) +
1
Next intTeller
'
For intTeller = 150 To 200
If aintLengte(intTeller) > 0 Then
Debug.Print
aintLengte(intTeller); " leerlingen meten "; intTeller;
" cm."
End If
Next intTeller
End Sub
Sub Array04()
Dim astrWoorden(5), astrKopie(5) As String
Dim intTeller As Integer
astrWoorden(1) = "maandag"
astrWoorden(2) = "dinsdag"
astrWoorden(3) = "woensdag"
astrWoorden(4) = "donderdag"
astrWoorden(5) = "vrijdag"
For intTeller = 1 To 5
astrKopie(intTeller) = astrWoorden(6 -
intTeller)
Debug.Print astrKopie(intTeller)
Next intTeller
End Sub
terug
Sub Array05()
Dim aintGetallen(10), intTeller, intHulp As Integer
'Originele inhoud afdrukken
For intTeller = 1 To 10
aintGetallen(intTeller) = intTeller * 10
Debug.Print aintGetallen(intTeller);
Next intTeller
Debug.Print
'Cellen 2 aan 2 verwisselen
For intTeller = 1 To 5
intHulp = aintGetallen(intTeller * 2 - 1)
aintGetallen(intTeller * 2 - 1) =
aintGetallen(intTeller * 2)
aintGetallen(intTeller * 2) = intHulp
Next intTeller
Debug.Print 'Nieuwe regel nemen
'Afdrukken na omwisseling
For intTeller = 1 To 10
Debug.Print aintGetallen(intTeller);
Next intTeller
End Sub
terug
Sub Arrays06()
Dim alngFib(10)
Dim intTeller, lngHulp As Integer
alngFib(1) = 1
alngFib(2) = 1
'Rij opvullen
For intTeller = 3 To 10
alngFib(intTeller) = alngFib(intTeller - 2) +
alngFib(intTeller - 1)
Next intTeller
'Rij afdrukken
For intTeller = 1 To 10
Debug.Print alngFib(intTeller);
Next intTeller
Debug.Print
'Verschuiven elementen
lngHulp = alngFib(10)
For intTeller = 10 To 2 Step -1
alngFib(intTeller) = alngFib(intTeller - 1)
Next intTeller
alngFib(1) = lngHulp
'Rij afdrukken
For intTeller = 1 To 10
Debug.Print alngFib(intTeller);
Next intTeller
Debug.Print
End Sub
Public Sub Array11()
'Declaratie van de variabelen
Dim asngTemp2(7, 3) As Single
Dim intRij, intKolom As Integer
Dim sngGem As Single
'Opvullen en afdruken van de array rij per rij
For intRij = 1 To 7
For intKolom = 1 To 3
asngTemp2(intRij, intKolom) =
CInt(Rnd * 15) + 10
Debug.Print "Dag "
& Str(intRij) & ": "; asngTemp2(intRij,
intKolom); "¦";
Next
Debug.Print
Next
'Gemiddelde per dag berekenen en afdrukken
For intRij = 1 To 7
sngGem = 0
For intKolom = 1 To 3
sngGem = sngGem +
asngTemp2(intRij, intKolom)
Next
Debug.Print "Gemiddelde dag " &
CStr(intRij) & ": " & CStr(sngGem / 3)
Next
End Sub
Public Sub Array12()
'Declaratie van de variabelen
Dim asngTemp2(7, 3) As Single
Dim intRij, intKolom As Integer
Dim sngGem As Single
'Opvullen en afdruken van de array rij per rij
For intRij = 1 To 7
For intKolom = 1 To 3
asngTemp2(intRij, intKolom) =
CInt(Rnd * 15) + 10
Debug.Print "Dag "
& Str(intRij) & ": "; asngTemp2(intRij,
intKolom); "¦";
Next
Debug.Print
Next
'Gemiddelde ochtendtemperatuur berekenen en afdrukken
sngGem = 0
For intRij = 1 To 7
sngGem = sngGem + asngTemp2(intRij, 1)
Next
Debug.Print "Gemiddelde ochtendtemperatuur: " &
CStr(sngGem / 7)
End Sub
terug