Salve a tutti programmatori, ho un problema con un codice riguardante il selection sort, il problema è che mi da errore di segmentazione. So che è un problema legato alla memoria, ma non riesco a venirne a capo.
Questo è il codice 
#include<iostream>
//metodi____________________
void ordinamento(float a[], int n){
int i,j; 
int minimo; 
float aux; 
for( int i=0;i<n-1;i++){ 
  i=minimo; 
  for(j=i+1;j<n;j++)
    j=minimo;     
    aux=a[minimo]; 
    a[minimo]=a[i];
    aux=a[i];  
  }
  }  
void inserimento (float a[], int n){
  for(int i=0;i<n;i++){
    std::cout<<"inserisci i valori"<<std::endl;
    std::cin>>a[n];
  }
}
void stampa (float a[], int n){
  for(int i=0;i<n;i++)
    std::cout<<a[i]<<" ";
}
//_________________________
//main
int main (){
int n;
float a[n];
std::cout<<"inserisci la grandezza dell array"<<std::endl;
std::cin>>n;
inserimento(a,n);
ordinamento(a,n);
stampa(a,n);
return 0;
}
grazie a tutti per la disponibilità