Wie 0 Zahlen in integer einfuegen?
-
Hallo an alle,
ich bin relativ neu in Sachen C programmieren und ich braeuchte bei etwas einbisschen Hilfe.
Ich schreib zzt. ein Integer Reverser Programm wo der eingegebene Integer umgekehrt wird und in Folge diese ungekehrte Zahl mit der eingegebenen addiert wird. Ein Beispiel. Die eingegebene Zahl ist 32 und die umgekehrte 23. Wenn man die beiden addiert bleibt 9 uebrig. Und hier liegt mein Problem. ich will das diese Zahl in Folge dann auch umgekehrt wird. Aber um das zu schaffen muss die 9 ne 0 beinhalten, sprich 09. Kann mir vielleicht jemand erklaeren wie ich das machen kann?
-
MitsosC schrieb:
Die eingegebene Zahl ist 32 und die umgekehrte 23. Wenn man die beiden addiert bleibt 9 uebrig.
meinst du nicht subtrahiert?
wie währe es ca so?if (x<10) { x=x*10; } else { //Zahle umkehren... }
-
Wie wärs damit
int umkehren(int x) { int einer = x % 10; int zehner = x / 10; return 10 * einer + zehner; } int main(void) { int a = 23; int a_umgekehrt = umkehren(a); int differenz = abs(a - a_umgekehrt); int ergebnis = umkehren(differenz); }
-
Danke für die schnellen Antworten.
Das mit dem umkehren hab ich schon hingekriegt. Mich interresiert mehr die Sache wie ich aus der 9 eine 09 mache so das sie beim umkehren ne 90 abgibt. Irgendwelche Vorschläge?Hast Recht. hab mich vertippt.
-
Im Speicher steht weder 9 noch 09 (sondern immer nur O und L). Das sind dann lediglich mögliche Repräsentation bzw. formatierte Ausgaben davon.
Bye, TGGC (Denken, und gut ist.)
-
MitsosC schrieb:
Danke für die schnellen Antworten.
Das mit dem umkehren hab ich schon hingekriegt. Mich interresiert mehr die Sache wie ich aus der 9 eine 09 mache so das sie beim umkehren ne 90 abgibt. Irgendwelche Vorschläge?Du hast jetzt 2 vorschläge bekommen:
entwederif (x<10) { x=x*10; } else { //Zahle umkehren... }
oder
int umkehren(int x) { int einer = x % 10; int zehner = x / 10; return 10 * einer + zehner; } int main(void) { int a = 23; int a_umgekehrt = umkehren(a); int differenz = abs(a - a_umgekehrt); int ergebnis = umkehren(differenz); }
das von groovemaster ist alles was du brauchst.. bei meinem müsstest du das umkehren von zahlen >9 trotzdem noch machen..
schau dir besser diese möglichkeiten mal an als noch mehr zu verlangen
-
Danke und sorry das ich vielleicht etwas zu viel verlangt hab. Bin halt noch ein Anfänger.
Ich probier dann den Code aus und poste dann ob es geklappt hat.Grüsse,
Dimitris
-
das von groovemaster muss wohl klappen...