[C] Probleme affichage tableau caractères
Résolu
flop91
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
J'ai un petit programme pour afficher un tableau de caractere 20*20 vide dont le contour est fait de #.
Je le compile tout va bien, mais quand la fenetre dos me l'affiche, j'ai une représentation en ligne du tableau.
Comment je peux lui donner un forme de carre? D'ou vient mon problème?
En esperant que je suis assez clair. Merci d'avance
#include <stdio.h>
#include <stdlib.h>
void main (void)
{
int i;
int j;
char tableau[22][22];
for(i=0; i<22; i++)
{
for(j=0; j<22; j++)
{
tableau[i][j] = ' ';
}
}
for(i=0; i<22; i++)
{
tableau[i][0] = '#';
tableau[i][21] = '#';
}
for(j=0; j<22; j++)
{
tableau[0][j] = '#';
tableau[21][j] = '#';
}
for(i=0; i<22; i++)
{
for(j=0; j<22; j++)
{
printf("%c", tableau[i][j]);
}
}
}
J'ai un petit programme pour afficher un tableau de caractere 20*20 vide dont le contour est fait de #.
Je le compile tout va bien, mais quand la fenetre dos me l'affiche, j'ai une représentation en ligne du tableau.
Comment je peux lui donner un forme de carre? D'ou vient mon problème?
En esperant que je suis assez clair. Merci d'avance
#include <stdio.h>
#include <stdlib.h>
void main (void)
{
int i;
int j;
char tableau[22][22];
for(i=0; i<22; i++)
{
for(j=0; j<22; j++)
{
tableau[i][j] = ' ';
}
}
for(i=0; i<22; i++)
{
tableau[i][0] = '#';
tableau[i][21] = '#';
}
for(j=0; j<22; j++)
{
tableau[0][j] = '#';
tableau[21][j] = '#';
}
for(i=0; i<22; i++)
{
for(j=0; j<22; j++)
{
printf("%c", tableau[i][j]);
}
}
}
A voir également:
- [C] Probleme affichage tableau caractères
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Caractères spéciaux - Guide
4 réponses
Exact. Tu peux améliorer encore ton programme :
Le imax et jmax rendent plus lisible le programme et permette de changer facilement les dimensions du tableau. Actuellement tu alloues de manière statique ton tableau 22*22 mais avec des malloc tu verras qu'il est facile de spécifier dynamiquement ses dimensions.
Attention à ne pas oublier les headers et à bien retourner le code d'éexecution dans ton main pour être standard.
Bonne chance
#include <stdio.h> #include <stdlib.h> int main() { unsigned int i; unsigned int j; const unsigned int imax=22,jmax=22; char tableau[imax][jmax]; for(i=0; i<imax; ++i){ for(j=0; j<jmax; ++j){ tableau[i][j] = ' '; } } for(i=0; i<imax; ++i){ tableau[i][0] = '#'; tableau[i][jmax-1] = '#'; } for(j=0; j<jmax; ++j){ tableau[0][j] = '#'; tableau[imax-1][j] = '#'; } for(i=0; i<imax; ++i){ for(j=0; j<jmax; ++j){ printf("%c", tableau[i][j]); } printf("\n"); } return 0; }
Le imax et jmax rendent plus lisible le programme et permette de changer facilement les dimensions du tableau. Actuellement tu alloues de manière statique ton tableau 22*22 mais avec des malloc tu verras qu'il est facile de spécifier dynamiquement ses dimensions.
Attention à ne pas oublier les headers et à bien retourner le code d'éexecution dans ton main pour être standard.
Bonne chance
Salut,
A la fin, après la fermeture de boucle de la ligne, mets un saut ligne:
A la fin, après la fermeture de boucle de la ligne, mets un saut ligne:
for(i=0; i<22; i++) { for(j=0; j<22; j++) { printf("%c", tableau[i][j]); } printf("\n"); }
Salut,
Pas facile les petites astuces comme ca quand on débute :-).
Pas difficile non plus :-)). Lit ce tuto Apprenez à programmer en C / C++ !, mais c'est vrai que pour Miss et Kilian c'est plus facile vu leur experience.
lami20j
Pas facile les petites astuces comme ca quand on débute :-).
Pas difficile non plus :-)). Lit ce tuto Apprenez à programmer en C / C++ !, mais c'est vrai que pour Miss et Kilian c'est plus facile vu leur experience.
lami20j