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ât1.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
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema ordonat_neordonat:
#include <iostream>
using namespace std;
int main()
{
int a[1001],n,i;
bool cr,eg,de;
cin>>n;
for(i=0;i<n;++i)
cin>>a[i];
cr=eg=de=false;
for(i=0;i<n-1;++i)
if (a[i]==a[i+1])
eg=true; // daca gasim doua elementele egale, acest lucru se memoreaza
else
if (a[i]<a[i+1])
cr=true; // se memoreaza gasirea a doua elemente in ordine crescatoare
else
de=true; // se memoreaza gasirea a doua elemente in ordine descrescatoare
if (cr and de)
cout<<"sir neordonat"; // sirul neordonat are atat elemente crescatoare cat si descrescatoare
else
if (eg and !cr and !de)
cout<<"sir constant"; // are elemente egale, nu are crescator, nici descrescator
else
if (cr and !eg and !de) // are elemente crescatoare, nu are egal, nici descrescator
cout<<"sir strict crescator";
else
if (cr and eg and !de) // are elemente egale si descrescatoare nu are descrescator
cout << "sir crescator";
else
if (de and eg and !cr) // are elemente descrescatoare si egale, nu are crescator
cout << "sir descrescator";
else
cout << "sir strict descrescator"; // are elemente descrescatoare, nu are egale nici crescatoare
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1320 ordonat_neordonat
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1320 ordonat_neordonat de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!