Salve, la seguente procedura dovrebbe cancellare da una matrice di interi il minimo elemento di ogni riga. Il vettore ind[] è un vettore ( precedentemente riempito ) che contiene per ogni "i" l'indice della colonna che contiene il minimo. Purtroppo l'effetto è quello di copiare l'elemento successivo al minimo di ogni singola riga in ogni cella della riga.
Per esempio, la riga di indice 0 è : 1 0 -7 3 quindi ind[0]= 2. La riga in questione anzichè diventare 1 0 3 diventa 3 3 3 . Vi posto il codice:
codice:
int cancella(int mat[][30], int r, int c, int ind[30])
{
     int i, k;
     for(i=0;i<r;i=i+1)
     {
                       if(ind[i]=(c-1))
                       {
                                       mat[i][ind[i]-1]=mat[i][ind[i]];
                       }
                       else
                       {
                           for(k=(ind[i]+1);k<c;k=k+1)
                           {
                                                  mat[i][k-1]=mat[i][k];
                           }
                       }
     }
     c=c-1;
     return c;
}