Patrice T
Похоже, пришло время научиться отлаживать свой код самостоятельно, к счастью, ваш код довольно прост.
Проверьте свой код с помощью
Play [1][5] = -1;
Play [2][2] = -1;
и обратите внимание, какие элементы массива проверяются, а какие нет.
Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя
отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что он делает, ответ таков:
отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.
Отладчик - Википедия, свободная энциклопедия[
^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[
^]
Базовая отладка с помощью Visual Studio 2010 - YouTube[
^]
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.
Если отладчик слишком сложен для вас, вы можете изменить свой код, чтобы отслеживать, что он делает.
// initialize array with known value
for(int j=0;j<M;j++)
{
for(int i=0;i<N;i++)
{
Play [j] [i] =0
}
}// set a few -1
Play [1][5] = -1;
Play [1][6] = -1;
Play [2][2] = -1;
// then put your code with a single change
for(int j=0;j<M;j++)
{
int i=0;
while (i<N)
{
if (Play [j] [i] == -1)
{
a++;
j++;
}
Play [j] [i] = 2;
i++;
}
}
cout<< a << endl;
// then print the resulting array, every 0 is untested