# PBinfo #3080 – VerifNumar – Rezolvare C++

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

## Enunț

Cerința
Se dă un șir de caractere. Sa se determine numărul scris cu cifrele existente în șirul dat. Să se afișeze  numărul obținut și, pe linia următoare, toate caracterele din șir care nu fac parte din număr, cu excepția spațiilor.

Date de intrare
Programul citește de la tastatură un șir de caractere.

Date de ieșire
Programul afișează pe ecran numărul determinat, iar pe linia următoare, separate prin câte un spațiu, toate caracterele din șir care nu fac parte din număr, cu excepția spațiilor, în ordinea din șir.

Restricții și precizări

șirul dat va avea cel mult 100 de caractere;
dacă șirul dat reprezintă un număr natural, programul va afișa numai mesajul CORECT;
dacă șirul dat nu conține nicio cifră, programul va afișa numai mesajul NaN;
dacă șirul nu conține alte cifre în afară de 0, numărul rezultat va fi reprezentat de ultima apariție în șir a cifrei 0;

Exemplu 1:
Intrare

00573a9 3ee
Ieșire

57393
0 0 a e e
Exemplu 2:
Intrare

ab0 efj0
Ieșire

0
a b 0 e f j

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int elim[100];
int main()
{
    char s[101];
    cin.getline(s , 101);
    int lastzero = -1, amcifrenenule = 0, cnt = 0;
    for(int i = 0 ; s[i] ; i ++)
    {
        if(s[i] == '0')
        {
            if(! amcifrenenule)
                elim[i] = 1, lastzero = i, cnt ++;
        }
        else
            if(s[i] > '0' && s[i] <= '9')
                amcifrenenule = 1;
            else
                elim[i] = 1, cnt ++;
    }
    if(! amcifrenenule && lastzero != -1)
        elim[lastzero] = 0, cnt --;
    if(cnt == 0)
        cout << "CORECT";
    else
    {
        if(! amcifrenenule && lastzero == -1)
            cout << "NaN";
        else
        {
            for(int i = 0 ; s[i] ; i ++)
                if(elim[i] == 0)
                    cout << s[i];
            cout << endl;
            for(int i = 0 ; s[i] ; i ++)
                if(elim[i] == 1 && s[i] != ' ')
                    cout << s[i] << " ";
            cout << endl;
        }
    }
    return 0;
}
```

## Resurse

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