Problema Munte!!!
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
Răspunsuri la întrebare
Răspuns de
0
Bună!
#include <iostream>
using namespace std;
int main(){
int n,i,x,mod=1,ante;
cin >> n;
cin >> ante;
for(i=1;i<=n-1 && mod!=3;i++){
cin >> x;
if(x==ante)mod=3;
if(mod==1){
if(x<ante)mod=2;
}
if(mod==2){
if(x>ante)mod=3;
}
ante=x;
}
if(mod==2) cout << 1;
else cout << 0;
}
- am memorat altitudinea anterioară în variabila ante
- de fiecare comparăm altitudinea nouă cu cea anterioară
- în mod, ținem cont de modul în care trebuie să se comporte șirul
- inițial el trebuie sa fie crescător (1), apoi descrescător (2)
- în momentul în care șirul este constant sau devine iar crescător suntem siguri că șirul dat nu este munte (mod==3), deoarece pentru ca șirul sa fie munte trebuie ca la final mod să fie egal cu 2
drcompress:
Buna!
while (i <= n-1 && mod !=3){
++i;
"aici adaugi tot ce contine acel for in acolade"
}
ti-am convertit for-ul intr-un while :)
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă