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

Salutari am si eu o problema: Sir munte

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.

Restrictii:
3 ≤ N ≤ 500
Elementele șirului sunt numere naturale mai mici decât 1.000.000

Exemplu:
Date intrare: 7
1 4 6 7 8 5 2 Date iesire: 1
Date intrare: 7
1 4 6 10 8 9 2 Date iesire: 0

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

Răspunsuri la întrebare

Răspuns de ploPLO123
1

Răspuns:

#include <iostream>

using namespace std;

const int NMAX = 500;

int v[NMAX];

int main() {

   int n, i;

   cin >> n;

   for ( i = 0; i < n; i ++ ) {

       cin >> v[i];

   }

   i = 1;

   while ( i < n && v[i] >= v[i - 1] )

       i ++;

   while ( i < n && v[i] <= v[i - 1] )

       i ++;

   cout << ( i == n );

   return 0;

}

Explicație:


ploPLO123: la fel și în al doilea while
ploPLO123: < in loc de <=
rollinn20: am inteles,imediat testez
rollinn20: am facut cum ai spus si imi da 72 de pcte
rollinn20: trebuie sa ajung la 100
ploPLO123: am modificat programul. Ce greseam era ca eu luam in considerare i secventele doar crescatoare sau doar descrescatoare
ploPLO123: #include

using namespace std;

const int NMAX = 500;
int v[NMAX];

int main() {
int n, i;
cin >> n;
for ( i = 0; i < n; i ++ ) {
cin >> v[i];
}
i = 1;
while ( i < n && v[i] > v[i - 1] )
i ++;
if ( i != 1 && i != n ) {
while ( i < n && v[i] < v[i - 1] )
i ++;

cout << ( i == n );
} else
cout << 0;
return 0;
}
rollinn20: imedidat il verific:)
rollinn20: a mers,mersi mult de tot!!!!!!mersi mult!!!
ploPLO123: cp:)
Alte întrebări interesante