Tömbök deklarációja

 

Tömb deklarálása

Dim tomb(10) As Integer

Ezzel az utasítással egy egészekből álló 10 elemű tömböt deklaráltunk. A tömbindexek a VB .Net-ben mindig 0-tól indulnak. A Dim tomb(1 To 10) As Integer típusú deklaráció nem megengedett!

Egy többdimenziós tömb deklarálása:

Dim tomb(15,20) As Single

Kezdőértékadás a következőképpen történhet:

Dim tomb() = {10,123,10}

Az elemszám lekérdezhető UBound(tomb) segítségével

 

Dinamikus tömb

Megtehetjük, hogy nem adjuk meg a tömb méretét addig, amíg azt használni nem szeretnénk. A használat előtt azonban újra kell dimenzionálnunk a tömbünket:

Dim tomb() As Integer

...

ReDim tomb(10) 'Újradimenzionálás, itt adjuk meg a tömbméretet

A tömb egy elemére a következőképpen hivatkozunk:

tömb(i)

Példa:

Az alábbi példa egy statikus tömb elemeit fordított sorrendben bemásolja egy dinamikus tömbbe, majd kiírásra kerül

    Dim Forrás() As String = {"Altziebler Dániel""Bori Réka""Petrás Adél Hajnal""Fehér Luca""Csikós Tamás""Dürvanger Zsolt""Vad Csaba"}
    
Dim Cél() As String 'dinamikus tömb deklarációja
    
Dim LOTTO(35As Integer

    Private Sub 
fordítva() 'fordított sorrendben bemásolja a Forrás tömbben lévő adatokat a Cél tömbbe
        
Dim N, I As Integer
        
= UBound(Forrás) 'Lekérdezi a tömb elemszámát
        
ReDim Cél(N) 'A dinamikus tömb dimenziójának beállítása
        
For To Step -1
            
Cél(N - I) Forrás(I)
        
Next
    End Sub

Private Sub kiírat()
        
Dim As Integer
        Dim 
Prn_sor As String
        Dim 
gr As Graphics = Me.CreateGraphics
        
Dim Betu_Méret As Integer = 14
        
Dim Betu_Típus As New Font("Ariel", Betu_Méret, FontStyle.Regular, GraphicsUnit.World)
        
Dim Nyomtattandó_Sorok_Száma As Integer = 0
        
For To UBound(Cél)
            Prn_sor 
Cél(J)
            gr.DrawString(Prn_sor, Betu_Típus, Brushes.Black, 
4, Nyomtattandó_Sorok_Száma)
            Nyomtattandó_Sorok_Száma 
Nyomtattandó_Sorok_Száma + Betu_Méret + 2
        
Next
End Sub

Feladat:Írasd ki a az alábbi tömbben található lottószámokat a minta alapján!

 Dim LOTTO(35As Integer

    Private Sub 
lottószámok()
        LOTTO(
1115
        
LOTTO(1225
        
LOTTO(1349
        
LOTTO(1433
        
LOTTO(1517
        
LOTTO(2111
        
LOTTO(2245
        
LOTTO(2390
        
LOTTO(2413
        
LOTTO(2571
        
LOTTO(311
        
LOTTO(325
        
LOTTO(3329
        
LOTTO(3413
        
LOTTO(3577
    
End Sub