Salve,
devo inserire degli elementi di un vettore in una matrice in un tale ordine. Per far capire meglio mostro qualche esempio
MATRICE [n][m] con n>m quindi esempio A[5][2]
Elementi da inserire sono {1,2,3,4,5,6,7,8,9}
Avrò dunque la matrice 5x2 cosi:
1 3
2 5
4 7
6 9
8
MATRICE [n][m] con n<m esempio [3][5]
Elementi da inserire sono {1,2,3,4,5,6,7,8,9}
1 3 6 9
2 5 8
4 7
Ecco il mio svolgimento che non funziona con le matrici [n][m] con n<m.
int **riempi(int *array,int r,int **tab,int n,int m){
int i=1,j=0,k=1;
tab[0][0]=array[0];
while(k<r){
while(j<m-1 || i<n-1){
if(k==r)
break;
tab[i][j]=array[k];
if(i!=0){
if(j+1<m){
i--;
j++;
}
else{
j--;
i=i+2;
}
//printf("righe %d, colonne %d\n",i,j);
}
else{
if(j+1<n){
i=j+1;
j=0;
}
else{
i=n-1;
j--;
}
printf("righe %d, colonne %d\n",i,j);
}
k++;
}
}
return tab;
}
Come potrei risolvere per l'altro tipo di matrice?
Grazie in anticipo!