fbpx

Problema #2797 – Cuvinte9 – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Un text are cel mult 100 de caractere și este format din cuvinte, numere naturale și spații. Cuvintele sunt formate numai din litere mici ale alfabetului englez. Cuvintele și numerele sunt separate prin câte un spaţiu.

Scrieţi un program care citește de la tastatură un text de tipul menţionat mai sus și afișează pe ecran numărul din text care începe cu cea mai mare cifră. Dacă există mai multe astfel de numere, se afișează doar unul dintre acestea, iar dacă textul nu conține niciun număr, se afișează pe ecran mesajul nu exista.

Date de intrare

Programul citește de la tastatură un text de tipul menționat mai sus.

Date de ieșire

Programul va afișa pe ecran numărul din text care începe cu cea mai mare cifră sau mesajul nu exista, dacă textul nu conține niciun număr.

Exemplu

Intrare

am 190 de nuci si 70 de castane

Ieșire

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

char s[101];

bool cifra(char ch)
{
    return ch >= '0' && ch <= '9';
}

int nr(int& i)
{
    long long int nr = 0;
    while(cifra(s[i]))
        nr = nr * 10 + s[i] - '0' , i++;
    return nr;
}

int main()
{
    cin.getline(s , 101);
    int i = 0;
    long long int num = -1;
    char ma = '0';
    while(s[i]!='\0')
    {
        if(cifra(s[i]))
        {
            if(s[i] >= ma)
                ma=s[i] , num = nr(i);
            int numar = nr(i);
        }
        i++;
    }
    if(num != -1)
        cout << num;
    else
        cout << "nu exista";
    return 0;
}
Comentarii

S-ar putea sa iti placa