Okay I am writing a code that will remove the border of an apmatrix and resize it accordingly
Okay for some odd reason I get an infinate loop. I've narrowed it down to the for-loop with the if-statement...can someone tell me whats wrong with it?Code:void RemoveBorder(apmatrix <int> & M) { apmatrix<int> temp(100,100); int Max = M.numrows()-1; for(int i = 0; i < M.numcols(); i++) { M[0][i] = 0; } for(int b = 0; b < M.numcols(); b++) { M[Max][b] = 0; } int Total = M.numrows() - 2; while(Total > 0) { M[Total][0] = 0; M[Total][M.numcols()] = 0; Total--; } int tempOne = 0; int tempTwo = 0; for(int v = 0; v < M.numrows(); i++) { for(int s = 0; s < M.numcols(); s++) { if(M[v][s] != 0) { temp[tempOne][tempTwo] = M[v][s]; tempTwo++; if(s = M.numcols() - 1) { tempOne++; } } } } M = temp; M.resize(tempOne, tempTwo); for(int c = 0; c < M.numrows(); c++) { for (int b = 0; b < M.numcols(); b++) { cout << M[c][b] << " "; } } }



LinkBack URL
About LinkBacks


