Tableau char
Résolu
ld09
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
ld09 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
ld09 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Tableau char
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
2 réponses
Bonjour,
Tu affiche bien les 9 premiers caractères que tu as tappé c-a-d :
x x x CR x x x CR x
La première ligne contient x x x
La seconde contient CR x x
La troisème x CR x
les caractères entrés ont été mémorisées et ont été retranscrits.
Tu affiche bien les 9 premiers caractères que tu as tappé c-a-d :
x x x CR x x x CR x
La première ligne contient x x x
La seconde contient CR x x
La troisème x CR x
les caractères entrés ont été mémorisées et ont été retranscrits.
int main(void){
char tab[3][3];
int i, j;
for(i = 0; i < 3 ; i++){
for(j = 0; j < 3 ; j++){
scanf("%c",&tab[i][j]);
printf("\nRemplissage [%d,%d] %c",i,j,tab[i][j]);
}
}
for(i = 0; i < 3 ; i++){
for(j = 0; j < 3 ; j++){
if(j==0) printf("\n");
printf("%c ",tab[i][j]);
}
}
return 0 ;
}
ça fonctionne si on rempli donne tout le contenu du tableau d'un coup :
$./ta
abcdefghi
Remplissage [0,0] a
Remplissage [0,1] b
Remplissage [0,2] c
Remplissage [1,0] d
Remplissage [1,1] e
Remplissage [1,2] f
Remplissage [2,0] g
Remplissage [2,1] h
Remplissage [2,2] i
a b c
d e f
g h i
Par contre si on donne lettre par lettre le scanf capture le \n dans le buffer je suppose, du coup ça crée des problèmes
comment je peux faire pour qu'il m'imprime uniquement les caractères (cad
xxx
xxx
xxx) et non CR?
Tu lis des char, donc le \n est rajouté dans le tableau. Tu auras par exemple arr[0][0] = 'c' arr[0][1] qui vaut '\n' si l'utilisateur appuie sur la touche 'c' et valide.
Il faut donc traiter ce cas.
Par exemple :
à mettre à la place de ton scanf().