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 că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.