fbpx

Problema #1320 – ordonat_neordonat – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Orice şir se încadrează în următoarele categorii: șir constant, șir strict crescător, șir crescător, șir strict descrescător, șir descrescător sau șir neordonat.

Se citește un șir cu n elemente naturale. Să se verifice în ce categorie se încadrează.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele șirului.

Date de ieșire

Programul va afișa pe ecran unul dintre mesajele sir constant, sir strict crescator, sir crescator, sir strict descrescator, sir descrescator sau sir neordonat. Se va tipări categoria cea mai strictă în care se încadrează şirul.

Restricții și precizări

  • 1 ≤ n ≤ 1000
  • cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu 1:

Intrare

5
1 2 3 4 5

Ieșire

sir strict crescator

Exemplu 2:

Intrare

5
5 3 3 2 1

Ieșire

sir descrescator

Exemplu 3:

Intrare

5
1 1 1 1 1

Ieșire

sir constant

Exemplu 4:

Intrare

5
1 2 3 1 5

Ieșire

sir neordonat
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[1001];
    int cnt=0;
    for(int i = 1 ; i <= n ; ++i)
    cin >> a[i];
    for(int i = 1 ; i <= n ; ++i)
    {
        a[0]=a[1];
        if(a[i]==a[i-1])
            cnt++;
    }
    if(cnt==n)
       cout << "sir constant";
    else
    {
        cnt=0;
        a[0]=-1;
    for(int i = 1 ; i <= n ; ++i)
    {
        if(a[i]>a[i-1])
        cnt++;
    }
    if(cnt==n)
    cout << "sir strict crescator";
    else
    {
        cnt=0;
        for(int i = 1 ; i <= n ; ++i)
        if(a[i]>=a[i-1])
        cnt++;
        if(cnt==n)
        cout << "sir crescator";
        else
        {
            cnt=0;
            for(int i = 1 ; i <= n ; ++i)
            {
                a[0]=1000000001;
                if(a[i]<a[i-1])
                cnt++;
            }
            if(cnt==n)
            cout << "sir strict descrescator";
            else
            {
                cnt=0;
                for(int i = 1 ; i <= n ; ++i) 
                if(a[i]<=a[i-1])
                cnt++;
                if(cnt==n)
                cout << "sir descrescator";
                else
                cout << "sir neordonat";
            }
        }
    }
    }
}
Comentarii

S-ar putea sa iti placa