login  Naam:   Wachtwoord: 
Registreer je!
 Forum

printout zit in een loop en geeft verkeerde info (de tweede keer)

Offline verhaba - 07/12/2008 22:32
Avatar van verhabaLid Hallo

Ik heb een klein probleempie... dit is een opdracht:

de user geeft een getal in (bv 9) en een basis getal (bv 17). de waarden moeten als volgt opgeslagen worden. Op index 0 staat 17 (1 x 17), op index 1 staat 34 (2 x 17), op index 2 staat 51 ( 3 x 17) tot index 8. Daar staat 153 (9 x 17). Nadien vraagt de console een zoek getal. Staat die in de array dan moet de console dit ook weergeven. Indien niet ook natuurlijk. Maar meer text en uitleg hieronder.

Programmaverloop:

Count ? : 9
Base Value ? : 17
Search Value ? : 136
136 is the 8 multiple of 17
Search Value ? : 135
135 is not found in the first 9 multiples of 17
Search Value ? : 17
17 is the 1 multiple of 17
Search Value ? :

gij geeft me de eerste maal:

136 is found in the first 7 multiples of 9, maar nadien schrijft hij 9 maal: 136 is found in the first -1 multiples of 9, wat eigenlijk niet correct is...
hoe oplossen?

dit is mijn code
[code=vbnet]
Sub Main()

Console.Write("count? ")
Dim count As Integer = Console.ReadLine()
Console.Write("Base Value? ")
Dim baseValue As Integer = Console.ReadLine()
Dim upperbound As Integer = count - 1
Dim calc(upperbound) As Integer

' array initiëren en opvullen met de waarden.
Dim index As Integer
For index = 0 To upperbound
calc(index) = (baseValue * (index + 1))
'de array uitprinten ter controle
'Console.Write(calc(index) & " ")
Next
Console.WriteLine()
Console.Write("Search value? ")
Dim searchvalue As Integer = Console.ReadLine()

Dim found As Boolean = False
For numbers = 0 To upperbound
index = -1
Do Until found
index += 1
found = (calc(index) = searchvalue)
Loop
If found Then
Console.WriteLine(searchvalue & " is found in the first " & index & " multiples of " & count)
Else
Console.WriteLine(searchvalue & "is not found in the first " & upperbound & " multiples of " & count)
End If
Next
Console.ReadLine()
End Sub
[/CODE]

3 antwoorden

Gesponsorde links
Offline Abbas - 08/12/2008 01:19 (laatste wijziging 08/12/2008 01:19)
Avatar van Abbas Gouden medaille

Crew .NET
Vrij logisch, de Console.WriteLine() staat binnen je For-Loop. Je gaat heel de array door en schrijft telkens het antwoord weg. Hetgeen je wil weergeven op het scherm moet je buiten de For-Loop plaatsen! 
Offline Kr4nKz1n - 08/12/2008 10:24
Avatar van Kr4nKz1n Onbekend Ik ben echt niet goed hier in. Maar tabs zou erg fijn zijn. Juist omdat je geen accolades gebruikt.
Offline Abbas - 08/12/2008 12:54
Avatar van Abbas Gouden medaille

Crew .NET
VB.NET gebruikt geen accolades! Als je geen zinnig antwoord kan geven, zwijg dan! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s