Visual Basic 2005 - Anfängerproblem

SaPass

Bekanntes Gesicht
Mitglied seit
01.03.2007
Beiträge
867
Reaktionspunkte
0
Visual Basic 2005 - Anfängerproblem

Hi Com!

Ich möchte ein ganz einfaches Programm schreiben, dass sich mit der Zahlenfolge befasst.
Man hat eine natürliche Anfangszahl. Ist diese gerade, wird sie durch 2 geteilt(n/2). Ist die Zahl ungerade, wird sie mit 3 multipliziert, dann wird 1 addiert(n*3+1). Dies geschieht, bis die Zahl 1 erreicht hat.

Auf meinem Formular habe ich:
-TextBox1 (zur Eingabe der Anfangszahl)
-TextBox3 (Ausgabe; gibt die Anzahl der benötigten Schritte an, bis die Zahl 1 erreicht)
-TextBox2 (mein Problem)

TextBox2 ist mehrzeilig. In ihr möchte ich jeden Rechenschritt des PC untereinandern darstellen lassen.
z.B:
Die Anfangszahl ist 8.
In der TextBox1 ist die Zahl 8 eingetragen.
TextBox3 zeigt an, welches Glied der Folge 1 ist: 4
In TextBox 2 soll stehen
n1=8
n2=4
n3=2
n4=1.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a, b As Long
TextBox2.Text = ""
TextBox3.Text = ""
a = TextBox1.Text
b = 1
Do Until a = 1
If a Mod 2 = 1 Then a = a * 3 + 1 Else a = a / 2
TextBox2.Text = a
b = b + 1
Loop
TextBox3.Text = b
End Sub

Was muss ich angeben, dass die Textbox 2 die oben aufgeführten Folgeglieder auflistet.

Ich hoffe, dass ihr mir helfen könnt.

MfG

SaPass
 
S

skicu

Guest
AW: Visual Basic 2005 - Anfängerproblem

Ich weiß nicht, ob VB .NET den += Operator unterstützt, daher mal auf die sichere Art und Weise:

Code:
TextBox2.Text = TextBox2.Text + System.Environment.NewLine + a

Ohne Gewähr. Bin mir grad nich sicher, ob das NewLine so passt und hab keine Lust, nachzusehen. ;)
 
S

skicu

Guest
AW: Visual Basic 2005 - Anfängerproblem

edit: Doppelpost, sorry. Was ist denn mit dem Forum los? Funktioniert ja fast nix mehr...
 
TE
S

SaPass

Bekanntes Gesicht
Mitglied seit
01.03.2007
Beiträge
867
Reaktionspunkte
0
AW: Visual Basic 2005 - Anfängerproblem

skicu am 05.03.2007 23:45 schrieb:
Ich weiß nicht, ob VB .NET den += Operator unterstützt, daher mal auf die sichere Art und Weise:

Code:
TextBox2.Text = TextBox2.Text + System.Environment.NewLine + a

Ohne Gewähr. Bin mir grad nich sicher, ob das NewLine so passt und hab keine Lust, nachzusehen. ;)
Hey danke!
Funktoniert nun, gab aber anfangs noch eine Fehlermeldung (ich habe meine Variablen als long definiert, hätte aber string schreibern müssen)

MfG SaPass
 
S

skicu

Guest
AW: Visual Basic 2005 - Anfängerproblem

SaPass am 06.03.2007 19:05 schrieb:
Hey danke!
Funktoniert nun, gab aber anfangs noch eine Fehlermeldung (ich habe meine Variablen als long definiert, hätte aber string schreibern müssen)

MfG SaPass
Wenn du mit den Variablen rechnest, ist long bzw. double schon richtig. Nur musst du dann dort, wo die Zahl als Text ausgegeben wird (beim Schreiben in die Textbox) hinter die Variable ein .ToString() setzen.

(zB textBox1.Text = a.ToString(); )
 
Oben Unten