PHP Code:
/***
* _ _
* (_) (_)
* __ ____ _ _ _____ ___ ___ ___ ___ _ __ ___
* \ \/ / _` | |/ _ \ \ / / |/ _ \ / __/ _ \| '_ ` _ \
* > < (_| | | (_) \ V /| | (_) | (_| (_) | | | | | |
* /_/\_\__, |_|\___/ \_/ |_|\___(_)___\___/|_| |_| |_|
* __/ |
* |___/
*/
#include <st***.h>
#include <stdlib.h>
#include <string.h>
int ** vet_puntato_ordinato ( int * source);
int compara_numeri ( const void * a, const void * b);
int main (void){
int i;
int ** vet_ordinato;
int vet[10]={1,4,2,7,3,6,9,3,5,34};
for (i=0;i<10;i++){
printf ("%d ", *(vet +i));
}
printf ("\n");
vet_ordinato = vet_puntato_ordinato (vet);
for (i=0;i<10;i++){
printf ("%d ", **(vet_ordinato +i));
}
printf ("\n");
return 0;
}
int ** vet_puntato_ordinato ( int * source){
int ** new_vet;
int i;
new_vet = (int **) malloc (10 * sizeof(int *));
if (new_vet == NULL ){
printf("Spazio non disponibile\n");
exit(-1);
}else{
for (i=0;i<10;i++){
*(new_vet +i) = (source + i);
}
qsort (new_vet,10,sizeof( int *),compara_numeri);
return new_vet;
}
}
int compara_numeri ( const void * a, const void * b){
int ** num1 = (int **) a;
int ** num2 = (int **) b;
if ( **num1 <= **num2){
return -1;
}else{
return 1;
}
}