codice:#include <stdio.h> int partition(int a[], int n); int main() { /*dichiarazioni variabili */ int i; int n; /*dimensione array*/ printf("dimensione array \n "); scanf("%d",&n); int a[n]; for(i=0;i<n;i++){ printf("inserisci numero %d: ",i); scanf("%d",&a[i]); } // /*chiamata alla funzione */ int part = partition(a, n); /*stampa del risultato */ printf("Minori o uguali : "); for(i = 0; i < part; ++i) { printf("%d ", a[i]); } printf("\nMaggiori: " ); for(i = part; i < n; ++i) { printf("%d ", a[i]); } printf("\n"); return 0; } int partition(int a[], int n) { /*dichiarazioni variabili */ int i; int j=0; int min; min=a[0]; /*ricerca del k-mo elemento minimo */ for(i=0; i< n;i++) { if(min>=a[i]){ min=a[i]; } } printf("il k-mo elemento minimo e' %d \n",min); for(i=0; i< n;i++) { if(a[i] <= min) { int tmp = a[j]; a[j] = a[i]; a[i] = tmp; j++; } } /*valore di ritorno */ return j; }