Ți se dă șirul de înălțimi ca un șir de numere întregi, nenule, separate prin spațiu. Șirul de numere se încheie cu valoarea 0, care nu face parte din înălțimi (doar marchează finalul șirului). Să se precizeze dacă șirul de înălțimi este crescător, descrescător sau nemonoton. Spunem că un șir e nemonoton dacă nu este nici crescător, nici descrescător în întregime.
Date de intrare
Se dă un șir de numere naturale urmat de valoarea 0.
Date de ieșire
Se va afișa unul dintre mesajele crescator, descrescator sau nemonoton.
Restricții și precizări
Înălțimile sunt numere cuprinse între 0 și 10.000
Se vor citi maxim 1.000 de numere
0 nu face parte din șirul de înălțimi, doar marchează finalul șirului
Pentru simplitate, dacă toate numerele sunt egale sau nu există nicio valoare înaintea lui 0, șirul se consideră nemonoton
Exemple
Date de intrare Date de ieșire
1 2 5 5 10 11 0 crescator
16 7 3 0 descrescator
1 2 2 1 0 nemonoton
Limbaj c++, rezolvare prin while, if, cat mai simplu.
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int main() {
int x, y = 0, z = 2, k=0;
cin >> x;
while (x != 0) {
y = x;
cin >> x;
if (z != 0 && x != 0) {
if (x != y)
k = 1;
if (x >= y && (z == 2 || z == 1))
z = 1;
else
if (x <= y && (z == 2 || z == -1))
z = -1;
else
if (x >= y && z == -1)
z = 0;
else
if (x <= y && z == 1)
z = 0;
}
}
if ((z==1 && k==0) || z == 0 || z == 2)
cout << "nemonoton";
if (z == 1)
cout << "crescator";
if (z == -1)
cout << "descrescator";
return 0;
}