Se dă un vector cu n
elemente numere naturale.
Cerinţa
Să se ordoneze crescător elementele vectorului.
Date de intrare
Programul citește de la tastatură numărul n
, apoi n
numere întregi, reprezentând elementele vectorului.
Date de ieşire
Programul va afișa pe ecran cele n
elemente ale vectorului, ordonate conform cerinței, separate printr-un spațiu.
Restricţii şi precizări
1 ≤ n ≤ 1000
- elementele vectorului vor fi mai mici decât
1.000.000.000
Exemplu
Intrare
6 8 2 9 4 5 7
Ieșire
2 4 5 7 8 9
SOLUTIE1
#include <iostream> using namespace std; int main(){ int n, x[1005]; cin >> n; for(int i = 0 ; i < n ; ++ i) cin >> x[i]; bool sortat = false; while(! sortat) { sortat = true; for(int i = 0 ; i < n - 1 ; i++) if(x[i] > x[i+1]) { int aux = x[i]; x[i] = x[i+1]; x[i+1] = aux; sortat = false; } } for(int i = 0 ; i < n ; ++ i) cout << x[i] << " "; return 0; }
SOLUTIE2
Sortarea prin insertie
se cosidera ca sirul a[1], a[2], .., a[i-1] este sortat si se insereaza valoare a[i] in acesta
#include <fstream> #include <iostream> using namespace std; int n; int a[1001]; int main() { cin >> n; for ( int i = 1; i <= n; ++i) cin >> a[i]; for(int i = 2 ; i <= n ; i ++) { double x = a[i]; int p = i; while(p > 1 && a[p - 1] > x) a[p] = a[p-1], p --; a[p] = x; } for ( int i = 1; i <= n; ++i) cout << a[i] << ' '; return 0; }