J'ai essayé de résoudre ce problème pendant plus d'une semaine. Ma mission est de cout (affichage) un grand tableau-morpion qui ressemble à ceci:Tic-Tac-Toe Carte BIG utilisant des fonctions et des tableaux 2D
0000 | 1111 | 2222
0000 | 1111 | 2222
0000 | 1111 | 2222
0000 | 1111 | 2222
------------------
3333 | 4444 | 5555
3333 | 4444 | 5555
3333 | 4444 | 5555
3333 | 4444 | 5555
------------------
6666 | 7777 | 8888
6666 | 7777 | 8888
6666 | 7777 | 8888
6666 | 7777 | 8888
Certaines fonctions proposées dans les instructions sont: « populateBigArray() // remplit le tableau 12X12 avec vales 0-8 assignValueToBigArray() // utilisé pour remplir la section 4X4 du tableau 12X12 qui correspond à un mouvement spécifique par l'homme ou l'ordinateur "
Je sens que je comprends les tableaux 2D et je suis capable de imprime un bloc de 4 x 4 chiffres. Cependant, tout ce que j'essaie fait que les blocs s'impriment directement, pas dans une structure 3x3 ou dans l'impression de tous les numéros sur une longue ligne. Le plus proche que j'ai obtenu est la fonction ci-dessous, cependant, ce n'est pas exactement en utilisant un tableau 2D qui est le point de l'affectation, et je sais essayer de manipuler un endroit une fois que le joueur l'a choisi n'est pas vraiment possible avec ça.
//Global constants
const int BOARD_ROWS = 3;
const int BOARD_COLS = 3;
int main()
{
displayBoard();
return 0;
}
void displayBoard()
{
int spot = 0;
for (int row = 0; row < BOARD_ROWS; row++)
{
for (int col = 0; col < BOARD_COLS; col++)
{
cout << spot << spot << spot << spot
<< " | " << (spot + 1) << (spot + 1) << (spot + 1) << (spot + 1)
<< " | " << (spot + 2) << (spot + 2) << (spot + 2) << (spot + 2)
<< endl;
}
cout << "------------------" << endl;
spot = spot + 3;
}
}//end displayBoard
Je suis définitivement un débutant et apprécie toute aide. Merci!!!
Lorsque vous utilisez le débogueur et exécuté les déclarations une à la fois, quelle déclaration cause le problème? –
[Fonctionne ici] (http://ideone.com/0o7dCe). Quel est votre problème en fait? Que vous avez oublié de fournir une déclaration pour 'void displayBoard();' avant main? –