(c++) Wie gebe ich eine dezimalzahl rückwärts aus?

...komplette Frage anzeigen

4 Antworten

Du könntest das Array rückwärts ausgeben.
Voraussetzung dafür ist, dass nur eine Zahl pro Array gespeichert ist.
Bei 1100 also
Array0=1
Array1=1
Array2=0
Array3=0
Gibst Du Array3 zuerst aus und machst rücklaufend weiter, wird die Zahl rückwärts ausgegeben.

Da die Zahl allerdings ja als ganzes eingegeben werden soll, musst Du diese vorher in einzelne Zahlen umwandeln. Mithilfe von Int, dem Teilen durch 10/100/1000 und so weiter, kriegt man das aber hin. Ansonsten findest Du recht schnell entsprechende Formeln dazu.

exacompta123 14.10.2016, 13:56

danke nochmal. Wie soll ich das an meinem Beispiel probieren?

mfg max

0

Hi,

habe lange kein C mehr geschrieben :(

Aber, ich würde mir ein Char Array anlegen und in dieses die Eingabe speichern. Danach kannst du dieses Array einfach rückwärts ausgeben.

Gruß

Zahl in Zeichenkette od. array of char umwandeln. Dann alle Zeichen in einem loop vom letzten bis zum ersten Element ausgeben. So sind alle umgekehrt präsentiert. 

Hi.

Wie wäre es, wenn du das Array einfach von hinten durchläufst, statt von vorne?

Liebe Grüße, CarolaA.

P.S.: Bei weiteren Fragen einfach melden.

exacompta123 14.10.2016, 11:56

Wie meinen Sie das? mit von hinte durchlaufen lassen?

mfg

1
CarolaA 14.10.2016, 12:08
@exacompta123

Beispiel:

int countArray = 4; 

int[countArray] array;
array[0] = 0;
array[1] = 0;
array[2] = 1;
array[3] = 1;

for(int i = countArray-1; i >= 0; i--) {
cout << array[i];
}
cout << endl;

Das Ergebnis wäre dann hier 1100, wenn du bei int i = 0 einsetzt und i < countArray sagst, würde 0011 herauskommen.

Und mein Codebeispiel ist das Rückwärtsdurchlaufen eines Arrays. =)

Und hier (http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/011_c_arrays_002.htm) kannst du Initialisieren und wie man Arrays verwendet, nachlesen.

Liebe Grüße, CarolaA.

0
apophis 14.10.2016, 13:48
@CarolaA

Nach der Eingabe muss man die Zahl halt nur in die einzelnen Arrays "einteilen".

1

Was möchtest Du wissen?