fbpx

Problema #287 – VerifOrd – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Se dau n şiruri cu elemente numere întregi. Să se verifice despre fiecare dacă este ordonat crescător.

Date de intrare

Programul citește de la tastatură numărul n; iar apoi n şiruri – pentru fiecare, se citeşte mai întâi numărul de valori, apoi valorile din şir.

Date de ieşire

Programul afișează pe ecran n valori 0 sau 1, separate prin spaţii. A k-a valoare este 1, dacă al k-lea şir este ordonat crescător, respectiv 0 dacă şirul nu este ordonat crescător.

Restricţii şi precizări

  • 1 ≤ n ≤ 10
  • fiecare şir va avea cel mult 500 elemente, numere întregi cu cel mult 4 cifre fiecare

Exemplu

Date de intrare

3
9
5 10 -5 8 -2 -7 0 -9 10
7
-6 -5 -4 0 2 5 8
5
2 7 8 10 10

Date de ieșire

0 1 1

Explicație

S-au citit 3 şiruri; primul nu este ordonat crescător, iar al doilea şi al treilea sunt ordonate crescător.

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[501];
    int rez[11];
    for(int i = 1; i <= n; ++i){
        int nelem;
        cin >> nelem;
        for(int j = 1; j <= nelem; ++j)
            cin >> a[j];
        bool crescator = true;
        for(int j = 2; j <= nelem; ++j)
            if(a[j] < a[j-1])
                crescator = false;
        if(crescator)
            rez[i] = 1;
        else
            rez[i] = 0;
    }

    for(int i = 1; i <= n; ++i)
        cout << rez[i] << ' ';

    return 0;
}
Comentarii

S-ar putea sa iti placa