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
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
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;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
9 ani în urmă
Limba română,
9 ani în urmă