Gå til innhold

[Løst] Divisjonstabell i VB.net med 2D-matriser og for-løkker.


Anbefalte innlegg

Hei,

 

Prøver å programmere en divisjonstabell ved hjelp av 2D matriser og for-løkker.

 

Noen som ser hva jeg gjør feil?

 

Målet er at jeg skal skrive ut en fin tabell med tall delt på 1-9 akkurat som en gangetabell.

 

Hvis dere syns denne koden er ekkel å lese så kan dere se på linken under koden.

 

 

Public Class Form1
   Private divisjon(9, 9) As Double
   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       Dim tall1 As Double
       Dim tall2 As Double
       Dim ut As Double = 0

       For tall1 = 1 To 9
           For tall2 = 1 To 9
               divisjon(tall1, tall2) = tall1 / tall2
           Next tall2
       Next tall1

       For ut = 1 To 9
           ListBox1.Items.Add(divisjon(ut, ut))
       Next ut
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       ListBox1.Items.Clear()
   End Sub
End Class

 

Link til koden formatert korrekt på copypastecode.com

 

EDIT: har endret litt på koden, men fungerer fortsatt ikke.

Endret av sk1rty
Lenke til kommentar
Videoannonse
Annonse

Slik du tenker?

 

Public Class Form1
   Private divisjon(9, 9) As Integer
   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       Dim tall1 As Double
       Dim tall2 As Double
       Dim ut As Double

       For tall1 = 1 To 9
           For tall2 = 1 To 9
               divisjon(tall1, tall2) = tall1 / tall2
           Next tall2
       Next tall1

       For ut = 1 To 9
           ListBox1.Items.Add(divisjon(ut, ut) & vbTab)
       Next ut
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       ListBox1.Items.Clear()
   End Sub
End Class

Lenke til kommentar

[/code]Public Class Form1

Private divisjon(9, 9) As Double

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

For tall1 As Integer = 1 To 9

For tall2 As Integer = 1 To 9

divisjon(tall1, tall2) = CDbl(tall1) / CDbl(tall2)

Next tall2

Next tall1

 

For ut As Integer = 1 To 9

ListBox1.Items.Add(CStr(divisjon(ut, ut)) & vbTab)

Next ut

End Sub

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

ListBox1.Items.Clear()

End Sub

End Class[/code]

 

Dersom desimaltall ut er ønskelig, hvis ikke:

 

Public Class Form1
   Private divisjon(9, 9) As Integer
   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       For tall1 As Integer = 1 To 9
           For tall2 As Integer = 1 To 9
               divisjon(tall1, tall2) = tall1 \ tall2
           Next tall2
       Next tall1

       For ut As Integer = 1 To 9
           ListBox1.Items.Add(CStr(divisjon(ut, ut)) & vbTab)
       Next ut
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       ListBox1.Items.Clear()
   End Sub
End Class

Lenke til kommentar

Fant etter hvert ut at mye av koden var feil og hodet mitt ikke klarte å tenke klart.

 

Kom frem til dette etter noen dager:

Public Class Form1
   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       Dim rad, kolonne As Integer
       Dim i, j As Integer
       Dim tall As Single
       Dim tab As String
       Dim divisjon(8, 8)

       For rad = 0 To 8
           For kolonne = 0 To 8
               divisjon(rad, kolonne) = (rad + 1) / (kolonne + 1)
           Next kolonne
       Next rad

       tab = vbTab

       For i = 1 To 9
           tab = tab & i & vbTab
       Next i
       ListBox1.Items.Add(tab)

       For i = 0 To 8
           tab = i + 1 & ":" & vbTab
           For j = 0 To 8
               tall = divisjon(i, j)
               tab = tab & Format(tall, "#0.00") & vbTab
           Next j
           ListBox1.Items.Add(tab)
       Next i

   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       ListBox1.Items.Clear()
   End Sub
End Class

Som ble temmelig bra :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...