Informatică, întrebare adresată de Utilizator anonim, 8 ani în urmă

Doar cu !!!!! IF si WHILE !!!!!!!!!! NU AM NEVOIE DE REZOLVARE CU FOR etc.
Cerinta:

Un șir munte este un șir în care există un singur indice i ce verifică proprietațiile:


2 ≤ i ≤ N - 1, unde N reprezintă numarul de elemente din șir

toate elementele de la 1 pană la i sunt în ordine strict crescătoare

toate elementele de la i până la N sunt în ordine strict descrescătoare

Se dă un șir format din N numere. Să se verifice dacă șirul dat reprezintă sau nu un șir munte.


Date de intrare:

Pe prima linie se află N, dimensiunea șirului. Pe următoarea linie sunt N numere naturale, elementele șirului reprezentând măsurătorile lui George.


Date de ieșire:

Se va afișa un singur număr: 1 dacă șirul dat este munte, sau 0 în caz contrar.


Restricții:

3 ≤ N ≤ 500

Elementele șirului sunt numere naturale mai mici decât 1.000.000


c10crys: Buna Alex, vreau sa vb si eu cu tine daca se poate...ms
Utilizator anonim: Sigur
c10crys: cum te gasesc pe fb ptr a putea vb?ms
Utilizator anonim: nu folosesc fb :))

Răspunsuri la întrebare

Răspuns de Petruccinator
0

#include <iostream>

int main() {

   size_t n, temp[2];

   bool flag = false;

   std::cin >> n;

   

   --n;

   std::cin >> temp[1];

   

   while (n) {

       temp[0] = temp[1];

       std::cin >> temp[1];

       

       if (flag ? temp[0] <= temp[1] : temp[0] >= temp[1] && (temp[0] == temp[1] || !(flag = true)))

       {

           std::cout << "0";

           return 0;

       }

       

       --n;

   }

   

   std::cout << (!n && flag);

}


Petruccinator: Pentru ce flag? Ai gasit un bug?
Utilizator anonim: salut, nu corespunde cu cerinta
Utilizator anonim: nu trebuie rezolvare cu vectori, pointers etc. si vina mea poate ca n-am fost destul de specific
Alte întrebări interesante