430
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
nnumere citite vor fi mai mici decât2.000.000.000 - cele
nnumere citite vor fi mai mari decât100
Exemplu
Intrare
4 15965 156 121 753
Ieșire
1 0 1 0
#include <bits/stdc++.h>
using namespace std;
int a[15] , n , maxi , nr , i , x , y, j , m , ok , imax;
int main()
{
cin >> n;
for(i = 1 ; i <= n ; ++i)
{
cin >> x;
j = 0;
maxi = 0;
while(x > 0)
{
++j;
a[j] = x % 10;
if(a[j] > maxi) {maxi = a[j]; imax=j;}
x = x / 10;
}
m = 1;
if(imax == 1 || imax == j)
cout << "0" << endl;
else
{
while(m < imax)
{
if(a[m] < a[m+1]) ok = 1;
else
{
ok = 0;
break;
}
++m;
}
if(ok == 0) cout << "0" << endl;
else
{
m = imax;
while(m >= imax && m < j)
{
if(a[m] > a[m+1])
ok = 1;
else
{
ok = 0;
break;
}
++m;
}
if(ok == 0) cout << "0" << endl;
else cout << "1" << endl;
}
for(x = 1 ; x <= 15 ; ++x) a[x] = 0;
}
}
return 0;
}
Comentarii