Salut am si eu nevoie de ajutor la o problema:
Se da un sir de numere nenule separate prin spatiu,sir se incheie cu valoare 0 care nu face parte din sir,el doar marcheaza sfarsitul sirului.Sa precizam daca sirul este crescator,descrescator,nemonoton.Un sir este nemonoton daca nu este nici crescator nici descrescator in intregime.
Date intrare: se da un sir de nr naturale urmate de valoarea 0
Date iesire: se va afisa unu din mesajele: crescator,descrescator,nemonoton
Restrictii/precizari:
Sunt numere cuprinse între 0 și 10.000
Se vor citi maxim 1.000 de numere
0 nu face parte din șir, doar marchează finalul șirului
Pentru simplitate, dacă toate numerele sunt egale sau nu există nicio valoare înaintea lui 0, șirul se consideră nemonoton
Inca un lucru important problema nu trebuie rezolvata cu functii,vectori,matrici,pointeri etc....doar cu if si while!!
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int main()
{
int n, a = 0, M = 2, nE = 0;
cin >> n;
while(n != 0)
{
a = n;
cin >> n;
if (M != 0 && n != 0)
{
if (n != a) { nE = 1; }
if (n >= a && (M == 2 || M == 1))
{
M = 1;
}
else if (n <= a && (M == 2 || M == -1))
{
M = -1;
}
else if (n >= a && M == -1)
{
M = 0;
}
else if (n <= a && M == 1)
{
M = 0;
}
}
}
if ((M == 1 && nE == 0) || M == 0 || M == 2) { cout << "nemonoton"; }
else if (M == 1) { cout << "crescator"; }
else if (M == -1) { cout << "descrescator"; }
}