C++ - Премахване на първи символ

CaTaHuK

Registered
Здравейте.

Искам да попитам ако имам например числото 832899, как да направя така че да маха първото число и да остане 32899.

Благодаря предварително :?:
 
Можеш да:

1) сметнеш броя на цифрите (с % и / на 10) и да направиш number % (10 * (broicifri - 1))
2) обърнеш числото, махнеш първата (с / 10) и го обърнеш пак (1234 -> 4321 -> 432 -> 234)
3) Го конвертираш до string, прочетеш една буква и го конвертираш пак в число.
 
@StormBreaker:
1) number % (10 ** (broicifri - 1)) , където ** e повдигане на степен (pow от cmath).
2, 3) Трябва да се взимат на предвид специални случай, когато числото за почва с -.
Ето така би трябвало да работи.

Код:
#include <iostream>
#include <cmath>

using namespace std;

int removeFirstDigit(int number)
{
    int number_length = 0, original_number = number;
    while(number % 10)
    {
        number_length++;
        number /= 10;
    }

    return original_number % (int)pow(10.0, number_length - 1.0);
}

int main()
{
    cout << removeFirstDigit(-12345) << endl;
    return 0;
}
 

Back
Горе