Проблема в том, что вы повышаете y только тогда, когда случайное число меньше minnum или больше maxnum, создавая проблему там, где их нет.
Но почему вы продвигаете это, только если эти условия возникают?
Вы хотите, чтобы вас повысили в должности независимо от этих условий.
Возможно, вы захотите изменить на:
while(y<150)
{
if(random[x][y]<minnum)
{
minnum=random[x][y];
minX=x;
minY=y;
}
else if(random[x][y]>maxnum)
{
maxnum=random[x][y];
maxX=y;
maxY=y;
}
y++;
}
Таким образом, y и x всегда повышаются.