Informatică, întrebare adresată de rollinn20, 8 ani în urmă

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

Răspuns de Rayzen
3

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

}


Rayzen: Ce aiurea... am verificat de multe ori. Scuze, îl voi corecta mai incolo.
Rayzen: Nu este adevărat.
Rayzen: Am scris 2 3 3 2 0 și îmi zice că e monoton.
Rayzen: nemonoton*
rollinn20: 1 2 2 1 0 ce iti scrie?
Rayzen: nemonoton
rollinn20: imi cer scuze,cred ca am gresit eu ceva in scrierea codului...o sa ma uit si revin:) mersi frumos
Rayzen: https://ibb.co/YNJV02B
Rayzen: Am făcut screenshot.
Rayzen: Cu plăcere!
Alte întrebări interesante