La funzione Ordina deve prendere i parametri come puntatori e quindi...
codice:void ordinaAsc(int *a, int *b, int *c) { int temp = 0; if(*a > *b) { temp = *a; *a = *b; *b = temp; } //ne ho fatto un pezzo per farti capire...però è da finire }
In questo modo quello che passi alla funzione sono gli indirizzi dei tre numeri.
A questo punto dentro il metodo posso spostare i valori come voglio, perchè tanto li sposto da un indirizzo all'altro.
Quando esco, i valori rimangono nella posizione in cui li avevo spostati dentro il metodo, e quindi me li ritrovo ordinati.
Se passassi i numeri per valore ( quindi senza '*'), dentro il metodo avrei solo una copia dei valori,e non il riferimento a loro.

Rispondi quotando