Не могу понять код в функции main. - вопрос №2466505

Здравствуйте у меня довольно таки простой вопрос. Учу по книжке С++ через программирование игр. Не могу понять каким образом работает код прописанный в функции main, если i делится на 2 то число четное, если нет то не четное, значит при вводе четного должен получиться крестик, при вводе нечетного числа нолик, но каким образом он принимает решения вывести крестик даже если я нажму на нечетное число? все-равно выводится крестик. #include <iostream> using namespace std; char board[9] = {'-','-', '-', '-', '-', '-', '-', '-', '-', }; int get_move(){ cout << «Варианты перемещения\n»; cout << "-7-|-8-|-9-" << endl; cout << "-4-|-5-|-6-" << endl; cout << "-1-|-2-|-3-" << endl; cout << "\n"; cout << «Игровая доска » << endl; cout << "-" << board[6] << "-|-" << board[7] << "-|-" << board[8] << "-\n"; cout << "-" << board[3] << "-|-" << board[4] << "-|-" << board[5] << "-\n"; cout << "-" << board[0] << "-|-" << board[1] << "-|-" << board[2] << "-\n"; cout << «Ваш ход »; int move; cin >> move; while (move > 9 || move < 1){ cout << «Пожалуйста введите легальный ход (1-9)»; cin >> move; } return move; } int main(){ setlocale(LC_ALL, «rus»); for (int i = 0; i <= 9; i++){ int move = get_move(); if (i % 2 == 0){ board[move — 1] = 'X'; } else{ board[move — 1] = '0'; } } system(«pause»); return 0; }
23.05.17
1 ответ

Лучший ответ по мнению автора

Здравствуйте.
Не совсем так.
Как Вы можете видеть, в программе сделан цикл со вводом чисел (for int i = 0 i <= 9...)
И если четный шаг цикла (i = 0,2,4,6,8), то на таблицу в выбранное поле хода (1-9) ставится нолик, если нечетный шаг — (i = 1,3,5,7,9), то крестик..
Вы можете это понять, все время вводя один и тот же номер клетки (напр, 1).
24.05.17
Лучший ответ по мнению автора
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store