codice:
#include <iostream>

using namespace std;

int cerca_pos(int v[], int n, int x){

    int i;
    i=0;
    while(i<n&&v[i]<=x)
        i++;
    return(i);

}

void crea_spazio(int v[], int n, int pos){
    for(int i=n-1;i>=pos;i--)
        v[i+1]=v[i];
}

int main()
{
    int pos;
    const int n=5;
    int vet[n]={0,2,7,8,10};
    int x;
    cout<<"Inizialmente l'array e: " << endl;
    for(int k=0;k<n;k++)
        cout<<vet[k]<<" ";

    cout << "Inserisci un numero compreso tra 0 e 10 da inserire nell'array: " << endl;
    cin>> x;
    pos= cerca_pos(vet,n,x);
    crea_spazio(vet,n,pos);
    vet[pos]=x;
    cout<<" L'array dopo l'ordinamento e: " <<endl;
    for(int k=0;k<n+1;k++)
        cout<<vet[k]<<" ";

    return 0;
}
Non inserisce il valore praticamente eppure sembra tutto ok, trovata la posizione, vet[pos]=x non dovrebbe inserire questo valore x inserito dall'utente nella posizione pos appunto?