ho trovato l'algoritmo che fa per te!!![]()
(Questo te lo puoi compilare e provarlo per vedere come funziona)
#define N_COL 3
#define N_ROW 3
int main(int argc, char *argv[])
{
int matrice[N_ROW][N_COL];
int j,i,cont=N_ROW*N_COL,tmp,passi;
int* ptr;
int* ptrApp;
//inserimento
for(i=0;i<N_ROW;i++)
for(j=0;j<N_COL;j++,cont--)
matrice[i][j]=cont;
printf("stampa prima\n");
for(i=0;i<N_ROW;i++)
{
for(j=0;j<N_COL;j++,cont-1)
{
printf("%d ",matrice[i][j]);
}
printf("\n");
}
printf("\nstampa dopo\n");
//ordina
passi=(N_ROW*N_COL);
ptr=*matrice;
for(i=0;i<N_ROW*N_COL-1;i++)
{
for(j=0;j<passi-1;j++)
{
if( *(ptr+j)> *(ptr+j+1))
{
tmp=*(ptr+j);
ptrApp=(ptr+j);
*ptrApp=*(ptr+j+1);
ptrApp=(ptr+j+1);
*ptrApp=tmp;
}
}
passi--;
}//fine ordina
//stampa dopo
for(i=0;i<N_ROW;i++)
{
for(j=0;j<N_COL;j++)
{
printf("%d ",matrice[i][j]);
}
printf("\n");
}
system("PAUSE");
return 0;
}
![]()
![]()