J'essaie de créer un code qui affiche un damier/échiquier. J'ai donné un numéro à chaque case du damier, afin que je puisse choisir manuellement la position des pièces pour la programmation future. Voilà ce que je suis:preview Tableau 2d 8x8 ne fonctionne pas c
#include <stdio.h>
//{",",",",",",","},
void main()
{
int board[8][8] = {
{'1','2','3','4','5','6','7','8'},
{'9','10','11','12','13','14','15','16'},
{'17','18','19','20','21','22','23','24'},
{'25','26','27','28','29','30','31','32'},
{'33','34','35','36','37','38','39','40'},
{'41','42','43','44','45','46','47','48'},
{'49','50','51','52','53','54','55','56'},
{'57','58','59','60','61','62','63','64'}
};
/* Display the checkerboard */
printf("\n\n");
printf(" %c | %c | %c| %c | %c | %c | %c | %c \n", board[0][0], board[0][1], board[0][2], board[0][3], board[0][4], board[0][5], board[0][6], board[0][7]);
printf("---+---+---+---+---+---+---+---\n");
printf(" %c | %c | %c| %c | %c | %c | %c | %c \n", board[1][0], board[1][1], board[1][2], board[1][3], board[1][4], board[1][5], board[1][6], board[1][7]);
printf("---+---+---+---+---+---+---+---\n");
printf(" %c | %c | %c| %c | %c | %c | %c | %c \n", board[2][0], board[2][1], board[2][2], board[2][3], board[2][4], board[2][5], board[2][6], board[2][7]);
printf("---+---+---+---+---+---+---+---\n");
printf(" %c | %c | %c| %c | %c | %c | %c | %c \n", board[3][0], board[3][1], board[3][2], board[3][3], board[3][4], board[3][5], board[3][6], board[3][7]);
printf("---+---+---+---+---+---+---+---\n");
printf(" %c | %c | %c| %c | %c | %c | %c | %c \n", board[4][0], board[4][1], board[4][2], board[4][3], board[4][4], board[4][5], board[4][6], board[4][7]);
printf("---+---+---+---+---+---+---+---\n");
printf(" %c | %c | %c| %c | %c | %c | %c | %c \n", board[5][0], board[5][1], board[5][2], board[5][3], board[5][4], board[5][5], board[5][6], board[5][7]);
printf("---+---+---+---+---+---+---+---\n");
printf(" %c | %c | %c| %c | %c | %c | %c | %c \n", board[6][0], board[6][1], board[6][2], board[6][3], board[6][4], board[6][5], board[6][6], board[6][7]);
printf("---+---+---+---+---+---+---+---\n");
printf(" %c | %c | %c| %c | %c | %c | %c | %c \n", board[7][0], board[7][1], board[7][2], board[7][3], board[7][4], board[7][5], board[7][6], board[7][7]);
}
C'est la sortie:
1 | 2 | 3| 4 | 5 | 6 | 7 | 8
---+---+---+---+---+---+---+---
9 | 0 | 1| 2 | 3 | 4 | 5 | 6
---+---+---+---+---+---+---+---
7 | 8 | 9| 0 | 1 | 2 | 3 | 4
---+---+---+---+---+---+---+---
5 | 6 | 7| 8 | 9 | 0 | 1 | 2
---+---+---+---+---+---+---+---
3 | 4 | 5| 6 | 7 | 8 | 9 | 0
---+---+---+---+---+---+---+---
1 | 2 | 3| 4 | 5 | 6 | 7 | 8
---+---+---+---+---+---+---+---
9 | 0 | 1| 2 | 3 | 4 | 5 | 6
---+---+---+---+---+---+---+---
7 | 8 | 9| 0 | 1 | 2 | 3 | 4
avec des avertissements comme:
main.c:13:37: warning: multi-character character constant[-Wmultichar]
{'57','58','59','60','61','62','63','64'}
Il ressemble à un personnage ne peut pas imprimer plus alors 9 ?! Ce que je voulais, c'était un aperçu simple d'un damier (avec un tableau 2d). J'ai essayé de changer certaines parties de ce code, mais sans aucune chance ... Des idées?
vous devez deux cotés des chaînes non caractères et format% 2s dans une boucle. Sérieusement, vous ne pouvez pas copier/coller des lignes et des lignes de printf comme ceci. –
Supprimer toutes les guillemets simples et utiliser '"% d "' dans votre 'printf' –
' int' n'est pas 'char'. Les littéraux de caractères multi-symboles n'ont aucun sens. D'où l'avertissement du compilateur. Cela n'a pas non plus de sens d'avoir une table de correspondance avec seulement des nombres adjacents, vous pouvez les calculer en temps d'exécution. – Lundin