Răspuns :
conform enuntului sunt munte vale si numerele de forma 233566311, deoarece s-a pus cerinţa ca cifrele din număr sânt crescătoare până la o anumită poziţie, iar cifrele care urmează sunt în ordine descrescătoare până la sfârşit. Dacă era să fie pusă condiţie de strict crescătoare şi strict descrescătoare, atunci numărul menţionat mai sus nu este munte.
Dacă doreşti să fie respectată anume relaţiile strict crescătoare şi strict descrescătoare, cred te isprăveşti să redactezi puţin codul...
#include <iostream>
using namespace std;
int num, nc, cif[15], k, munte=1;
int main()
{
cin >> num;
while (num)
{
++nc; cif[nc]=num%10; num/=10;
}
k=1;
while (cif[k]<=cif[k+1] && k<nc) ++k;
if (k==1 || k==nc) munte=0;
else
{
for (int i=k; i<nc && munte; ++i)
if (cif[i]<cif[i+1]) munte=0;
}
if (munte) cout << "este numar munte_vale";
else cout << "nu este numar munte_vale";
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!