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

Problema Munte!!!DAU CORONA
Doar cu IF, WHILE si ELSE va rog. Nu am ajuns inca la For sau Vectori.
Multumesc mult.

Cerință
George este fan al drumețiilor pe munte. El crede că o excursie pe munte ii conferă o experiență adevărată dacă acesta are un singur vârf și mai mult, măsurând altitudinea din kilometru în kilometru și construind un șir cu aceste valori, șirul respectiv este un șir munte.
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
Exemplu

Date de intrare Date de ieșire

7
1 4 6 7 8 5 2 1 ---- date de iesire 1

7
1 4 6 10 8 9 2 0 ---- date de iesire 0
Va rog pls..eu am facut-o de 90pct si vreau sa o primesc de 100pct.

Răspunsuri la întrebare

Răspuns de stefanboiu
1

Răspuns:

#include <iostream>

using namespace std;

int n, a, b, cr=1, desc=1, k=1;

int main()

{

   cin >> n;

   cin >> a >> b;

   if (a<b) k=2;

   while (a<b && k<n)

   {

     a=b;

     cin >> b;

     if (a<b) ++k;

   }

   if (k==1 || k==n) cr=0;

   else

   {

       ++k;

      while (a>b && k<n)

      {

         a=b; ++k;

         cin >>b;

      }

      if (k<n) desc=0;

   }

   if (cr && desc) cout << "DA";

   else cout << "NU";

}

Explicație:

Alte întrebări interesante