ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
724
724
EMPFEHLEN
-
Guten Tag,
ich lerne seit kurzem VBA und habe Probleme bei einer Aufgabe:
Es soll ein VB – Programm erstellt werden, mit dem eine einzugebende, positive Dezimalzahl in die zugehörige Oktalzahl umgewandelt werden kann.
Im Oktalsystem werden Zahlen zur Basis 8 dargestellt, der Zeichenvorrat besteht aus den acht Ziffern 0, 1, 2, 3, 4, 5, 6, 7
Der Umwandlungsalgorithmus wird im folgenden Beispiel anhand der Dezimalzahl 5432 dargestellt:
Dezimalzahl: 5432 : 8 = 679 Rest 0
679 : 8 = 84 Rest 7
84 : 8 = 10 Rest 4
10 : 8 = 1 Rest 2
1 : 8 = 0 Rest 1 Oktalzahl: 12470
Verwendet werden dürfen ausser Typumwandlungsfunktionen keine VB Standardfunktionen. Operatoren sind natürlich erlaubt (Mod)
Ich hab ewig dran rumprobiert, bekomme es aber einfach nicht hin. Mein Problem ist, dass die Zahlen ersten falsch herum rauskommen und zweitens eine null zuviel dran hängt.
Code vb:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Dim xneu As Long Dim xalt As Long Dim y As Long Dim z As Long xneu = txtEingabe Do xalt = xneu \ 8 y = xneu Mod 8 z = xalt Mod 8 xneu = xalt \ 8 lblAusgabe = lblAusgabe & y & z Loop Until xalt = 0
Ich erwarte nicht, dass mir hier jemand meine Hausaufgaben macht. Jedoch würde ich mich über die ein oder andere Hilfestellung oder Korrektur sehr freuen.Geändert von Ray (27.11.10 um 00:20 Uhr)
-
Das falsch herum:
In deinem Beispiel beginnst du mit der letzten Ziffer und endest bei der vordersten. Also diese Reihenfolge:
[5][4][3][2][1]
Aber du setzt jetzt die neusten Ziffern zuhinterst an. Dadurch ergibt sich automatisch [1][2][3][4][5]
Warum rechnest du pro durchgag 2 mal /8?
Code vb:1 2 3 4 5 6
x = eingabe do digit = x mod 8 x = x \ 8 ausgabe = digit & ausgabe loop until x=0
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Vielen Dank für die Hilfe.
Hab mal wieder zu kompliziert gedacht. Da probiert man ewig rum und sieht den Wald vor lauter Bäumen nicht mehr und dann ist die Lösung so einfach. Naja ich lerne seit etwa einem Monat VBA und hab bei Algorithmen noch ein wenig Verständnisprobleme.
Ich dachte ich müsste zwei Variabeln erstellen, die sich gegenseitig überschreiben damit die Schleife läuft. Aus Fehlern lernt man.
Grüße
Ray
Ähnliche Themen
-
Handelt es sich um eine Dezimalzahl?
Von ScarabXX im Forum PHPAntworten: 2Letzter Beitrag: 10.09.08, 08:54 -
sehr dringend, eine HEX Zahlt zu Dezimalzahl machen
Von Reticent im Forum C/C++Antworten: 2Letzter Beitrag: 27.07.06, 10:54 -
VB 6.0 Aufrunden einer Dezimalzahl
Von Nichtwisser im Forum Visual Basic 6.0Antworten: 5Letzter Beitrag: 12.01.06, 16:45 -
Hilfe, brauche dringenst eine Umwandlung!
Von der nick im Forum Vektor-ProgrammeAntworten: 6Letzter Beitrag: 16.04.05, 15:40 -
Eine Frage des Algorithmus :)
Von Create im Forum PHPAntworten: 4Letzter Beitrag: 07.05.02, 22:10





Zitieren

Login





