Avendo questo pezzo di codice :
codice:
for(int i = 0; i < k; i++){ // k = 2
    if(i == 0) 
       startRows = 0; 
    else 
       startRows = rangeDirezioni[i-1]; //rangeDirezioni[0] = 4, rangeDirezioni[1] = 4             
    /* Direzione verticale */   
    if(a[i]==0 && b[i]!=0){     
        for(int row = startRows; row < rangeDirezioni[i]; row++){        
             int col = 0;         
             for(int y = m-1; y >= 0; y--){        
                 for(int x = 0; x < n; x++){        
                    if(x == row)          
                        A[row][col] = 1;      
                    else               
                        A[row][col] = 0;         
                    col++;         
                 }      
             }      
        }    
    }
 /* Direzione orizzontale */   
    if(a[i]!=0 && b[i]==0){        
         int p = m-1;      
         for(int row = startRows; row < rangeDirezioni[i]; row++){         
            int col = 0;                 
            for(int y = m-1; y >= 0; y--){                 
               for(int x = 0; x < n; x++){                   
                  if(col < m*n){           
                          if(y == p)              
                               A[row][col] = 1;   
                          else    
                               A[row][col] = 0;  
                  }
                  col++;      
               }
            }p--;     
         }            
    }
}
..con m = n = 4, se metto k = 1 e inserisco una sola cordinata, per esempio a[0] = 0, b[0] = 1, riempie la matrice con 4 righe e m*n colonne, cioè:
1000100010001000
0100010001000100
0010001000100010
0001000100010001
se invece, ho k = 2 come nel codice, e inserisco le coordinate a[0] = 0, b[0] = 1 e a[1] = 2, b[1] = 0 (sono coordinate inserite da tastiera e poi messi nel vettore) dovrebbe riempirmi una matrice con 8 righe(somma degli elementi del vettore rangeDirezioni[]) e m*n colonne (in questo caso 16 colonne)fatta in questo modo:
1000100010001000
0100010001000100
0010001000100010
0001000100010001
1111000000000000
0000111100000000
0000000011110000
0000000000001111
e invece mi stampa una matrice con 8 righe e m*n colonne fatta di tutti 0.
Non riesco a capire il motivo, perchè se faccio i passaggi a mano sul foglio, invece a logica torna...
Come potrei fare?