Dezimal- in Trinärdarstellung umwandeln
-
Hallo Leute,
ich befasse mich gerade seit einem Monat mit C... studiere momentan Wirtschaftsingenieurwesen, da kommt man nicht an Programmierung vorbei. Ein wenig kenne ich mich mit Datentypen, Selektion und Schleifen aus, aber jetzt stehe ich zum ersten Mal mit den Hausaufgaben auf dem Schlauch:
Ich soll eine beliebige Dezimalzahl vom Typ unsigned long eingeben und in der Ausgabe soll diese Zahl in Trinärform, also mit Basis 3, erscheinen. Mein vorläufiger Algorithmus dazu:
while (x!=0) { ziffer = x%3; x=x/3; printf("%lu", ziffer); }
Mein Problem ist, dass zwar die richtigen Zahlen erscheinen, aber in der falschen Reihenfolge. Kann mir jemand erklären, wie ich die Zahlenausgabe umkehre?
Besten Dank schon mal
-
Oh und mir dann gleich erklären, wie ich dieses Editor-Fester öffne? Ich dachte mit
...
klappt es...
-
Z.B. rekursiv
void ultocon (unsigned long x, int base) /* unsigned log to console */ { if(base<2 || base > 10) return; if(x>=base) ltocon (x/base,base); putchar(x%base+'0'); // Ausgabe der Ziffer Wert + Zeichen für Null }
Und das mit dem Code-Tag ist schon richtig:
Decoded schrieb:
while (x!=0) { ziffer = x%3; x=x/3; printf("%lu", ziffer); }
Wie du siehst ist das zitiert. Ich habe an den Tags nichts geändert
-
Decoded schrieb:
Oh und mir dann gleich erklären, wie ich dieses Editor-Fester öffne?
Du hast wahrscheinlich ein Häkchen unten bei
BBCode in diesem Beitrag deaktivieren
. Das muss weg. Ansonsten Text markieren, auf den gewünschten Button klicken und in der Vorschau nachgucken, ob's geklappt hat und gut aussieht.viele grüße
ralph