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;
}