Ecco un altro esercizio che non sono sicuro di aver svolto bene:
Implementare un algoritmo basato sul paradigma divide et impera per trovare i due elementi più piccoli di
un insieme di n elementi.
Quindi dato un array di n numeri a[n] lo ordinavo in modo crescente con la ricorsione e poi stampavo i primi 2 numeri
codice:
void trovaMinori(int *a, int n, int i){
int j,temp;
if( i == n){
printf("I due minori sono: %d, %d", a[0], a[1]);
return;
}
for(j=0; j <= n-1; j++){
if(a[j] > a[i]){
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
trovaMinori(*a, n, i +1);
}