segmentation fault è indice che stai accendendo ad un'area di memoria che non ti è permessa.
Ti faccio notare che gli array così definiti

codice:
int array[10];
hanno dimensione 10 (contengono 10 elementi), ma ai suoi elementi accedi contando da 0 a 9, quindi la condizione del for

codice:
for (i = 0; i <= n; i++)
è errata e deve diventare

codice:
for (i = 0; i < n; i++)