allora da come l'ho capita io:
immagina di avere una matrice di 5 righe e 5 colonne
analizziamo la prima riga. i valori della riga sono:
1 2 3 4 5
la funzione deve invertire i valori contenuti nelle celle della riga e riscrivere:
5 4 3 2 1
con dim indico la lunghezza di ogni riga,con k di quante posizioni deve spostarsi.
tralasciando la dimenticanza che mi facevi notare ho scritto di nuovo il codice:
credo che il testo voglia dire ciò che ti ho spiegato. ma compilando mi da errorecodice:void scambia( double **a, int dim, int nrighe, int ncolonne) { int i,j,k,temp; for(i=1; i<nrighe; i++) { for(j=1; j<ncolonne; j++) while (a[i+k][j]<a[dim-k][j]) { for(k=0; k<dim; k++) temp=a[i+k][j]; a[i+k][j]=a[dim-k][j]; a[dim-k][j]=temp; } } }

Rispondi quotando