Citazione Originariamente Scritto da gnappinox1 Visualizza Messaggio


C non sei stato il primo e non sarai l'ultimo, ma sarai sempre presente nel mio cuore.

Se dovessi camminare in una valle oscura, non temerei alcun assembler o garbage-collector, perché tu sei con me.
Infine quando un segmentation fault porrà fine alla mia esistenza terrena, finirò nei campi elisi,
un luogo ove una malloc non restituirà mai NULL e mi dimenticherò per sempre delle include guards.

Grazie al sacro GCC la mia parola verrà scritta una volta e compilata per tutte le macchine del mondo ti lascio questo esempio di riconciliazione

Codice:
void mergesort(int *a, int *b, int l, int r){
  int i,j,k,m;
  if(r > l) {
    m = (r+l)/2;
    mergesort(a,b,l,m);
    mergesort(a,b,m+1,r);
    for(i = m+1; i > l; i--)
      b[i-1] = a[i-1];
    for(j = m; j < r; j++)
      b[r+m-j] = a[j+1];
    for(k = l; k <= r; k++)
      a[k] = b[i] < b[j] ? b[i++] : b[j--];
  }
}

void ordina(int *a, int l, int r)
{
  int *b = calloc(r - l + 1, sizeof(int));
  if(!b) { fprintf(stderr,"Errore di allocazione\n"); exit(-1); }
  mergesort(a,b,l,r);
  free(b);
}
E si, conosco come mischiare C ed Assembly, la cosa è figa, anche se non mi ha mai attirato più di tanto anche per lavorare con i singoli bit preferisco il C
Oh e non ci dovrebbe essere bisogno di dire che scherzavo, perché vedo che l'hai presa come dovrebbe.
;-)