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

Se citeşte de la tastatură un număr natural n (n>=100). Să se determine dacă numărul dat este număr „munte-vale”. Un număr natural este „munte-vale” dacă cifrele din număr sunt în ordine crescătoare până la o anumită poziţie, iar cifrele care urmează sunt în ordine descrescătoare până la sfârşit. Exemple pentru numere „munte-vale”: 24521, 18942, 16432

Răspunsuri la întrebare

Răspuns de boiustef
0

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";

}

Alte întrebări interesante