Informatică, întrebare adresată de mariamagdalena2269, 8 ani în urmă

Doar cu if while și else. Merci!
George este fan al drumețiilor pe munte. El crede că o excursie pe munte ii conferă o experientă adevărată dacă acesta are un
singur vârf și mai mult, măsurând altitudinea din kilometru in kilometru şi construind un șir cu aceste valori, şirul respectiv este un sir
munte
Un şir munte este un sir in care există un singur indice i ce verifica proprietatiile:
• 2<=i<=N-1 unde a reprezintă numarul de elemente din şir
• toate elementele de la 1 pana la i sunt in ordine strict crescătoare
• toate elementele de la i pana la N sunt in ordine strict descrescatoare
Se dă un şir format din numere. Så se verifice dacă şirul dat reprezintă sau nu un şir munte.
Date de intrare
Pe prima linie se afla dimensiunea şirului. Pe urmatoarea linie sunt numere naturale, elementele şirului reprezentand masuratorile
lui George
Date de ieşire
Se va afişa un singur numar 1 dacă sirul dat este munte, sau o in caz contrar
Restricții
3500
• Elementele sirului sunt numere naturale mai mici decat 1 000 000
Exemplu
Date de intrare 7/ 1 4 6 7 8 5 2, 7/1 4 6 10 8 9 2
Date de leşire 1(pentru primul șir) 0( pentru al doilea șir).

Răspunsuri la întrebare

Răspuns de drcompress
2

Răspuns:

#include <iostream>

using namespace std;

int main(){

int tip_sir = 0, n, x, nr_anterior = 0, i;

cin >> n;

cin >> nr_anterior;

i = 1;

while (i < n){

 cin >> x;

 if (x > nr_anterior && tip_sir == 0)

  tip_sir = 1;

 if (x < nr_anterior && tip_sir == 0)

  tip_sir = 3;

 if (x < nr_anterior && tip_sir == 1)

  tip_sir = 2;

 if (tip_sir == 2 && x > nr_anterior)

  tip_sir = 3;

 if (x == nr_anterior)

  tip_sir = 3;

 nr_anterior = x;

 i++;

}

if (tip_sir == 2)

 cout << "1";

else

 cout << "0";

return 0;

}

Explicație:


mariamagdalena2269: Mulțumesc frumos!
lucaciucandrei: foarte complex! iese si mai usor!
Alte întrebări interesante