# Thread: Help with function problem

1. ## Help with function problem

Okay I am writing a code that will remove the border of an apmatrix and resize it accordingly

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] << " ";
}
}
}```
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?

2. You will probably kick yourself when you see what you overlooked:
Code:
`for(int v = 0; v < M.numrows(); i++)`
shouldn't the i++ be v++?

Also I don't know if it is your intent, but shouldn't the second if statement be a comparison, instead of an asignment?

3. ## Re: Help with function problem

Originally posted by NewbieUser
Okay I am writing a code that will remove the border of an apmatrix and resize it accordingly
[/code]

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?