[ heheh @ 22.07.2003. 01:49 ] @
iman jedan problemcic...
mozda ce se cinit lagano, al pogleda san sve teme, i nigdi nema nesto sto bi mi pomoglo
inace treba napravit klasu stack koja ima svojstva push, pop, top i count
svojstvo push gura nesto(u ovom slucaju broj) na vrh matrice
svojstvo pop skida stavku s vrha matrice, top kazuje koja je stavka na vrhu matrice
i count koliko ima stavki u matrici...
ako moze ko rec u cemu ja ode grijesim, il ako ima ko brzu ideju za rijesit ovo...
bio bih mu zahvalan...

Code:
MODUL FORME:
Option Explicit
Dim objekt As clsStack
Private Sub cmdCount_Click()
MsgBox objekt.Count
End Sub
Private Sub cmdEnd_Click()
End
End Sub
Private Sub cmdPop_Click()
Dim i As Integer
Call objekt.Pop
If List1.ListCount > 0 Then List1.RemoveItem 0
End Sub
Private Sub cmdPush_Click()
Dim i As Integer    
If IsNumeric(Text1.Text) Then    
objekt.Push (Text1.Text)   
Else    
MsgBox "Unesite cjelobrojnu brojcanu vrijednost"    
Text1.Text = ""
End If
End Sub
Private Sub cmdTop_Click()
Call objekt.Top
End Sub
Private Sub Form_Load()
Set objekt = New clsStack
End Sub

Code:
MODUL KLASE
Option Explicit
Dim velicina As Integer
Dim a() As Variant
Public Function Push(b As Long)
Dim i, temp As Integer
ReDim Preserve a(velicina) 
If velicina > 0 Then    
For i = 0 To velicina - 1        
a(i + 1) = a(i)    
Next i
End If
a(0) = b
velicina = velicina + 1
End Function
Public Function Pop() As Variant
Dim i As Integer
For i = 0 To UBound(a) - 1   
a(i) = a(i + 1)
Next i    
MsgBox a(0)
velicina = velicina - 1
ReDim Preserve a(velicina)    
End Function
Public Function Top()
If Count > 0 Then        
MsgBox a(0)             
Else        
MsgBox "Nema elemenata na stogu"
End If
End Function
Property Get Count() As Long
Count = velicina
End Property
[ mladenovicz @ 22.07.2003. 15:15 ] @
Za pocetak ti Push ne valja.
Probaj ovako

Code:

Public Function push(b As Long)
Dim i, temp As Long
    ReDim Preserve a(velicina)
    If velicina > 0 Then
        For i = velicina - 1 To 0 Step -1
            a(i + 1) = a(i)
        Next i
    End If
    a(0) = b
    velicina = velicina + 1
End Function