vector<vector<int> > Solution::generateMatrix(int A) {
int n=A,i,j;
vector<vector<int> > ans(n);
for(i=0; i<n; i++)
ans[i] = vector<int> (n,0);
while(1){
while(j+1 < n && ans[i][j+1] == 0){
ans[i][++j] = i+j+1;
}
while(i+1 < n && ans[i+1][j] == 0){
ans[++i][j] = i+j+1;
}
while(j-1 >= 0 && ans[i][j-1] == 0){
ans[i][--j] = i+j+1;
}
while(i-1 >= 0 && ans[i-1][j] == 0){
ans[--i][j] = i+j+1;
continue;
}
if(n%2 == 0 && i == n/2+1 && j == n/2)
break;
if(n%2 == 1 && i == n/2 && j == n/2)
break;
}
return ans;
}
Это мой код, который выдает ошибку во время выполнения при выполнении. Где я превышаю границы индекса массива? Или есть какая-то другая ошибка, которую я наблюдаю?