Ragazzi buongiorno,
a marzo dovrei fare l'esame di elementi di informatica e avrei dei problemi con l'allocazione dinamica in particolare un esercizio mi chiede di ordinare la diagonale principale di una array bidimensionale in modo crescente questo è il mio programma:
void ordinamento(int mat[][max],int dim)
{
int pos;
int temp;
int min;
int i;
int j;
for(i=0;i<dim;i++){
min=mat[i][i];
pos=i;
for(j=i+1;j<dim;j++){
if(mat[j][j]<min){
mat[j][j]=min;
pos=j;
}
}
temp=mat[i][i];
mat[i][i]=mat[pos][pos];
mat[pos][pos]=temp;
}
chiaramente a monte del mio programma ho definito la costante max;
il programma non dà problemi di compilazione ma quando vado ad inserire la matrice
1 1
1 -5
dovrebbe stampare a video la matrice:
-5 1
1 1
invece stampa a video la matrice
1 1
1 1
Qualcuno puo' aiutarmi ?ho controllato anche la soluzione e non noto differenze con il mio programma.
Grazie mille per la disponibilità.