#include <iostream>
using namespace std;
int main()
{
bool ok = true;
const int arrsize = 10;
int x // the input
, n = 0 // to keep track of numbers already in the array
, i, j // to iterate in loops
, arr[arrsize];
cout << "Enter 10 numbers: \n";
while (cin >> x) {
for (i=0, ok=false; i<n; i++ ) { // iterate for the general case
if (x < arr[i]) { // find first wher x is lower
for (j = n; j>i; j--) // move remaining elements
arr[j] = arr[j - 1];
arr[i] = x;
n++;
ok = true; // we've found the place and inserted x
break;
}
}
if (!ok) { // if we didn't insert until now, we have to add it at the end
if (n<arrsize)
arr[n++] = x;
else cerr << "Array full "<<endl;
}
}
for (i = 0; i < n; i++) // n not 10 or arrsize
cout << arr[i] << " ";
// cin.get();
//cin.get();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBib29sIG9rID0gdHJ1ZTsKICAgIGNvbnN0IGludCBhcnJzaXplID0gMTA7IAogICAgaW50IHggICAgICAgLy8gdGhlIGlucHV0CiAgICAgICAgLCBuID0gMCAvLyB0byBrZWVwIHRyYWNrIG9mIG51bWJlcnMgYWxyZWFkeSBpbiB0aGUgYXJyYXkKICAgICAgICAsIGksIGogIC8vIHRvIGl0ZXJhdGUgaW4gbG9vcHMKICAgICAgICAsIGFyclthcnJzaXplXTsKCiAgICBjb3V0IDw8ICJFbnRlciAxMCBudW1iZXJzOiBcbiI7CiAgICB3aGlsZSAoY2luID4+IHgpIHsKICAgICAgCWZvciAoaT0wLCBvaz1mYWxzZTsgaTxuOyBpKysgKSB7IC8vIGl0ZXJhdGUgZm9yIHRoZSBnZW5lcmFsIGNhc2UKICAgICAgIAkgICAgaWYgKHggPCBhcnJbaV0pIHsgIC8vIGZpbmQgZmlyc3Qgd2hlciB4IGlzIGxvd2VyCiAgICAgICAJICAgICAgICBmb3IgKGogPSBuOyBqPmk7IGotLSkgIC8vIG1vdmUgcmVtYWluaW5nIGVsZW1lbnRzCiAgICAgICAgICAgICAgICAgICAgYXJyW2pdID0gYXJyW2ogLSAxXTsKICAgICAgICAgICAgICAgIGFycltpXSA9IHg7CiAgICAgICAgICAgICAgICBuKys7CiAgICAgICAgICAgICAgICBvayA9IHRydWU7ICAgLy8gd2UndmUgZm91bmQgdGhlIHBsYWNlIGFuZCBpbnNlcnRlZCB4CiAgICAgICAgICAgICAgICBicmVhazsgCiAgICAgIAkgICAgfQogICAgICAgCX0KICAgICAgIAlpZiAoIW9rKSB7ICAgLy8gaWYgd2UgZGlkbid0IGluc2VydCB1bnRpbCBub3csIHdlIGhhdmUgdG8gYWRkIGl0IGF0IHRoZSBlbmQKICAgICAgIAkgICAgaWYgKG48YXJyc2l6ZSkKICAgICAgIAkgICAgICAgIGFycltuKytdID0geDsgCiAgICAgICAJICAgIGVsc2UgY2VyciA8PCAiQXJyYXkgZnVsbCAiPDxlbmRsOyAKICAgICAgICB9CiAgICB9CgogICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgIC8vIG4gbm90IDEwIG9yIGFycnNpemUKICAgICAgICBjb3V0IDw8IGFycltpXSA8PCAiICI7CgogICAgLy8gY2luLmdldCgpOwogICAgLy9jaW4uZ2V0KCk7Cn0=