So I have a four digit number that is player-input in a simple puzzle I am making, I want to be able to check each digit, say I want to check the second digit to the right, if the number happens to be 4601 then of course it will be 6 but is their a faster way other than testing every single four digit number?
I found a few results with search but they didn’t help, they just confused me more, please phrase any answers so anyone can understand them.
Also i am using c++.
So I have a four digit number that is player-input in a simple puzzle
Share
To retrieve the second most significant (base ten) digit from an arbitrary integer
iyou could do:Of course, this assumes the number greater than or equal to 10 to begin with. If you need to preserve the number, then you will (obviously) want to be operating on a copy.
EDIT:
One could define a function for extracting an arbitrary digit using either arithmetic or string operations.
Arithmetic solution:
String solution:
Both of these solutions implicitly assume that
nwill be non-negative. You could enforce this pre-condition by using an unsigned data type if you need to. Also, both of these functions are defining the digit positions such that the most significant is in position 1, and the positions increase to the right.