fbpx

Problema #2678 – FormNr – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă un șir de caractere ce conține litere, cifre, semne de punctuație, spații și alte simboluri ASCII. Cifrele din șir formează numere, scrise în baza 10. Să se determine suma acestor numere.

Date de intrare

Programul citește de la tastatură șirul dat.

Date de ieșire

Programul va afișa pe ecran suma calculată.

Restricții și precizări

  • șirul conține maxim 255 de caractere;
  • cifrele sunt de la 0 la 9.

Exemplu

Intrare

an2a are 52 de creioane si cu 7 mai multe pixuri.

Ieșire

61

Explicație

2+52+7=61

#include <bits/stdc++.h>
using namespace std;

int main()
{
    char s[256];
    cin.getline(s , 256);
    int i = 0;
    int sum=0 , nr = 0;
    while(s[i]!='\0')
    {
        if(s[i]=='0' || s[i]=='1' || s[i]=='2' || s[i]=='3' || s[i]=='4' || s[i]=='5' || s[i]=='6' || s[i]=='7' || s[i]=='8' || s[i]=='9')
            nr = nr * 10 + ((int)s[i]-48);
        else
            sum+=nr , nr = 0;
        i++;
    }
    cout << sum;
    return 0;
}
Comentarii

S-ar putea sa iti placa