Informatică, întrebare adresată de Aidda, 9 ani în urmă

Cerinţa
Se dă un vector cu n elemente numere naturale. Să se verifice dacă are elementele ordonate crescător.

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

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă vectorul are elementele ordonate crescător, sau NU, în caz contrar.

Restricţii şi precizări
1 ≤ n ≤ 500
fiecare element al vectorului va avea cel mult patru cifre

Răspunsuri la întrebare

Răspuns de Xcoder
6
In C++:

#include <iostream>

using namespace std;

int n, numere[501], contor, ordonat;

int main(){

    cin>>n;

    for (contor = 1;contor<=n;contor++){

        cin>>numere[contor];

    }

    for (contor = 1;contor<n;contor++) if (numere[contor] > numere[contor + 1]){ ordonat = 1; break;}

    if (ordonat == 1) cout<<"NU";

    else cout<<"DA";

    return 0;

}

Explicatie: Daca se gaseste un element care nu indeplineste conditia, facem break pentru a opri for-ul, si schimbam valoarea variabilei ordonat in 1, pentru a putea verifica daca acesta operatiune a fost facuta. Daca acesta a fost facuta, adica numerele nu au fost ordonate, afisam "NU", altfel, afisam "DA"

Sper ca te ajuta!


Xcoder: e acelasi lucru
Xcoder: doar ca daca mizai pe eficienta, ca sa reduci timpul de executie puneai break
Xcoder: ai inteles??
Aidda: mie nu imi merge
Xcoder: mie da
Xcoder: ce input ai??
Xcoder: editez raspunsul si pun un while in loc si schimb conditia
Aidda: ii ok am reusit
Aidda: multumesc muult <3
Xcoder: nu ai ptr ce
Răspuns de express
8
#include <iostream>
using namespace std;
int v[505],i,n;
bool ok=true;
int main()
{
    cin>>n;
    cin>>v[1];
    for(i=2;i<=n;i++)
     {
         cin>>v[i];
         if(v[i-1]>v[i]) ok=false;
     }

    if(ok) cout<<"DA";
      else cout<<"NU";
    return 0;
}

Alte întrebări interesante