# PBinfo #2995 – Finserare – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Scrieți funcția inserare care primește ca parametru un număr natural n și furnizează prin intermediul aceluiași parametru numărul obținut din n prin inserarea, între oricare două cifre alăturate ale sale, a valorii absolute a diferenței acestora.

Restricții și precizări

10 ≤ n ≤ 99999
Puteți apela funcția matematică abs.

Exemplu:
Dacă n = 7255, atunci, după apelul inserare(n) valoarea lui n va fi 7523505.

Important
Soluția propusă va conține definiția funcției cerute. Prezența în soluție a altor instrucțiuni poate duce erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.

## Cod sursă C++

```cpp
void inserare(int &n) {
    int m = n % 10, c = n % 10, p = 10;
    n = n / 10;
    while (n > 0) {
        int c1 = n % 10;
        n = n / 10;
        m = m + abs(c1 - c) * p + c1 * p * 10;
        p = p * 100;
        c = c1;
    } n = m;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/2995)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/2995/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-2995/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
