Zahl drehen
-
Hallo,
ich habe eine Funktion:int intarray = 5678; int testarray[4]; int x = intarray; int i = 0; while (x > 0) { testarray[i++] = x % 10; x /= 10; } cout << "Arrays: "; int b = 0; while (b<=4) { cout << testarray[b]; b++; } cout << endl;
(Ich weiß unübersichtlich), das Problem ist das statt 5678 halt 8765 rauskommt, wie kann man die Zahl einmal umdrehen?
BD
-
Kannst du dein Problem genau beschreiben? Ich habe keine Ahnung wo dein Problem liegt, die Zahl wird doch umgedreht?
Hier ist übrigens dein Code etwas abgekürzt und kompilierbar...
#include <iostream> using namespace std; int main() { int x = 5678; int testarray[4]; for ( int i = 0; x != 0; ++i) { testarray[i] = x % 10; x /= 10; } for( auto i : testarray ) cout << i; }
-
ungetestet:
unsigned ReverseN(unsigned n, unsigned Base = 10) { unsigned Result = 0; while(n != 0) { Result *= Base; Result += n % Base; n /= Base; } return Result; }
-
@Arcoth
Ich kriege aber "Arrays: 87650" raus
-
LightBoom schrieb:
@Arcoth
Ich kriege aber "Arrays: 87650" rausWeil Du über das Array hinausliest.
Lern die Grundlagen und such Deine Fehler erstmal selber, bevor Du um Hilfe fragst.