hi all! im having trouble copying from 2d array to 3d array. im not sure this is correct. can anyone help me? i suspect the error is in the last line. Code: [SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] TwoDimToThree() { [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] i,j,k; [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] row=512,col=512,slice; [/SIZE][SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000]//int slice_no = sav_slice_no[300]; [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](slice=0;slice<slice_no;slice++) { [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](j=0;j<row;j++) { [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](k=0;k<col;k++) { Dim_image3D[slice][j][k]=image3D[slice][pixel]; } } } } [/SIZE] thank you!
Impossible to answer, since we don't know what you're trying to achieve. Are you copying from the 2D array to a single "slice" of the 3D array, or are you copying it to multiple slices? Are you mapping 2D pixels to exactly the same pixel in the slice, i.e. does 2D[p][q] get stored in 3D[slice][p][q]? Is your 2D array really called "image3D"? Using misleading variable names is a great way to confuse yourself.