Stai facendo un po' di confusione ...

La funzione

int ordina (int i, int N, int a[10]){
		for(i=0;i<N;i++)
		cin>>a[i];
		return a[i];
	}
perché l'hai chiamata ordina? Il codice serve ad acquisire quindi si chiamerà acquisizione. Ha bisogno solamente del vettore passato come argomento e basta. Non restituisce nulla perché le modifiche fatte all'array sono già visibili. Quindi

void acquisizione(int a[])
{
   for(i=0;i<N;i++)
       cin>>a[i];
}
Nel main la chiamerai dopo la cout

cout<<"Inserisci gli elementi"<<endl;
acquisizione(a);
Le altre prova a scriverle tu.