Bestimmte Stelle einer Ganzzahl herausfinden
-
Dafür gibt es eine Formel, die nachfolgend in eine Funktion eingebaut wurde. Dabei wird 0 als die Einerstelle behandelt.
// C-Version #include <math.h> unsigned short int getDigit (long int num, unsigned short int digit) { return ((long int)(num / pow(10,digit))) % 10; } // C++-Version #include <cmath> unsigned short int getDigit (long int num, unsigned short int digit) { return static_cast<long int>(num / pow(10,digit)) % 10; } // Beispiel int zehnerStelle = getDigit(1000,1); // zehnerStelle = 0 int tausenderStelle = getDigit(1000,3); // tausenderStelle = 1
Der einzige Unterschied zwischen C- und C++-Version besteht in der geänderten Header-Datei.
Danke an BasicMan01 für den Einbau der nötigen Casts bei neueren Compilern.
MfG SideWinder
PS: Wenn ihr Fehler findet, meldet euch bitte umgehend.