Informatică, întrebare adresată de zizou2407, 9 ani în urmă

Un număr este de tip “munte” dacă cifrele sale formează inițial un șir strict crescător, apoi un șir strict descrescător.

Cerinţa
Se dau n numere naturale. Determinați, pentru fiecare dintre ele, dacă este de tip “munte”.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii.

Date de ieşire
Programul afișează pentru fiecare dintre cele n numere citite, pe câte o linie a ecranului valoarea 1, dacă numărul corespunzător este de tip “munte”, respectiv valoarea 0 în caz contrar.

Restricţii şi precizări
1 ≤ n ≤ 10
cele n numere citite vor fi mai mici decât 2.000.000.000
cele n numere citite vor fi mai mari decât 100


JolieJulie: Ok...numere de genul 12344321 sau 1234? Cum formeaza șir crescători si descrescător?imi dai ex de un nr?....

Răspunsuri la întrebare

Răspuns de stassahul
11
#include <iostream>

using namespace std;

int n,x;

int main ()

{

    cin >> n;

    for(;n;n--)
    {
        cin >> x;
        int y=x%10,i=0,j=0,ok1=1,ok2=1;
        x/=10;
        if(x%10<y) ok1=0;
        else
        while(x!=0)
        {
            if(!ok2) j++;
            if(x%10>y and ok2) i++;
            else if(x%10<y)
            {
                if(j==0) j++;
                ok2=0;
            }
            else ok1=0;
            y=x%10;
            x/=10;
        }
        if(ok1 and i!=0 and j!=0) cout << 1 << endl;
        else  cout << 0 << endl;
    }

    return 0;

}

Alte întrebări interesante