👤
Rollinn20
a fost răspuns

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ăspuns :

Rayzen

#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"; }

}