Probleme d'affichage tableau

Fermé
Dante95400 Messages postés 12 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009 - 4 janv. 2009 à 19:57
napsterockoeur Messages postés 198 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 30 juin 2010 - 6 janv. 2009 à 00:23
Bonjour,

Je ne comprends pas pourquoi, mais mon tableau ne s'affiche pas.
Pourtant le code a l'air correcte !

#include <stdio.h>
#include <stdlib.h>


int main(void){
int x,y;
int tabl[9][9]={{8,0,3,1,5,9,0,0,0},{0,0,0,2,6,0,0,0,7},{0,6,2,0,0,0,0,0,0},{0,0,0,0,9,0,6,5,0},{5,3,0,0,0,0,4,0,0},{9,0,0,0,7,0,0,1,8},{0,0,0,9,3,8,0,6,0},{0,4,0,0,0,0,7,8,0},{3,5,0,6,0,0,0,0,0}};

for ( y=0; y<9; y++){
for ( x=0; x<9; x++);
printf("%d",tabl[x][y]);
}
}


Déjà, est ce que ce que j'ai fait est correct ?? Je veux afficher un tableau de 9 colonnes et 9 lignes avec des entiers à l'intérieur.

Merci pour votre aide.
A voir également:

20 réponses

cotta Messages postés 294 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 3 mai 2010 3
4 janv. 2009 à 20:00
c du php ca!!?
0
for ( x=0; x<9; x++);
ça ne serait pas plutôt :
for ( x=0; x<9; x++) {
0
Dante95400 Messages postés 12 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009
4 janv. 2009 à 20:08
C'est du langage C !

Alors j'ai ceci :

#include <stdio.h>
#include <stdlib.h>


int main(void){
int x,y;
int tabl[9][9]={
{8,0,3,1,5,9,0,0,0},
{0,0,0,2,6,0,0,0,7},
{0,6,2,0,0,0,0,0,0},

{0,0,0,0,9,0,6,5,0},
{5,3,0,0,0,0,4,0,0},
{9,0,0,0,7,0,0,1,8},

{0,0,0,9,3,8,0,6,0},
{0,4,0,0,0,0,7,8,0},
{3,5,0,6,0,0,0,0,0},
};

for ( y=0; y<9; y++){
for ( x=0; x<9; x++) {
printf("%d",tabl[x][y]);
}
}
system("pause");
}

J'ai un affichage, mais tous mes entiers sont affichés à la suite et non sous forme d'un tableau.

De puis, sans le system("pause") la console s'ouvre et se referme aussitôt !

Des suggestions s'il vous plait ?
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
4 janv. 2009 à 20:16
faut que tu rajoute un retour a la ligne
for ( y=0; y<9; y++){ 
for ( x=0; x<9; x++) { 
printf("%d",tabl[x][y]); 
} 
printf("\n");
}
et pour le sytem("pause") c'est normal
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dante95400 Messages postés 12 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009
4 janv. 2009 à 20:27
Merci, ça fonctionne.

Cependant, comment je pourrais améliorer l'interface de mon tableau ?
Car là j'ai des chiffres à la suite c'est pas très joli..
Par exemple avoir des " ---- "

Ex :

8 0 3 | 0 0 0 | 0 0 0
--------------------------------
0 0 0 | 0 0 0 | 0 0 0
0
Dante95400 Messages postés 12 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009
4 janv. 2009 à 20:30
J'aimerais me débarasser du system("pause"); également...
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
4 janv. 2009 à 20:37
pour les lignes faut utiliser des printf
for ( y=0; y<9; y++){ 
for ( x=0; x<9; x++) { 
printf("%d",tabl[x][y]); 
} 
printf("\n");
printf("----------------------------------");
}
pour te debarasser tu system("pause"); tu peux utiliser a la place getchar()
0
Dante95400 Messages postés 12 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009
4 janv. 2009 à 21:23
Voilà mon prgramme :

#include <stdio.h>
#include <stdlib.h>


int main(void){
/* Le titre du programme */
printf("\n ***** Sudoku ***** \n\n");

/* Initialisation du tableau */
int tab[10][10]={
{' ','1','2','3','4','5','6','7','8','9'},
{'A','8','0','3','1','5','9','0','0','0'},
{'B','0','0','0','2','6','0','0','0','7'},
{'C','0','6','2','0','0','0','0','0','0'},

{'D','0','0','0','0','9','0','6','5','0'},
{'E','5','3','0','0','0','0','4','0','0'},
{'F','9','0','0','0','7','0','0','1','8'},

{'G','0','0','0','9','3','8','0','6','0'},
{'H','0','4','0','0','0','0','7','8','0'},
{'I','3','5','0','6','0','0','0','0','0'},
};
/* Déclaration des variables x et y */
int x,y;
for ( y=0; y<10; y++) {
for ( x=0; x<10; x++) {
printf("%c|",tab[x][y]); /* Affichage du tableau */
}

printf("\n- - - - - - - - - - \n");

}
system("pause");
}



J'aimerai pouvoir introduire dans le tableau en indiquant les coordonnées un chiffre afin de remplir la grille du sudoku.
Il faudrait que j'indique la ligne et la colonne, par exemple D 2...

Vous auriez une idée de comment ça pourrait se faire ?
0
Azer_Ty Messages postés 104 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 4 juillet 2011 60
5 janv. 2009 à 00:04
utilise la bibliothèque :

#include <conio.h>

et utilise :

getch();
ou
getchar();

equivaut au system("PAUSE");

pour la saisie des scanf devrait aller avec les tests adéquats.
0
napsterockoeur Messages postés 198 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 30 juin 2010 10
5 janv. 2009 à 00:08
}
//system("pause");
getch();
}
0
Dante95400 Messages postés 12 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009
5 janv. 2009 à 23:16
#include <stdio.h>
#include <stdlib.h>


int main(void){
/* Le titre du programme */
printf("\n ***** Sudoku ***** \n\n");

/* Initialisation du tableau */

int tab[10][10]={
{' ','1','2','3','4','5','6','7','8','9'},
{'A','8','0','3','1','5','9','0','0','0'},
{'B','0','0','0','2','6','0','0','0','7'},
{'C','0','6','2','0','0','0','0','0','0'},

{'D','0','0','0','0','9','0','6','5','0'},
{'E','5','3','0','0','0','0','4','0','0'},
{'F','9','0','0','0','7','0','0','1','8'},

{'G','0','0','0','9','3','8','0','6','0'},
{'H','0','4','0','0','0','0','7','8','0'},
{'I','3','5','0','6','0','0','0','0','0'},
};

/* Déclaration des variables x et y */
int x,y;
for ( y=0; y<10; y++) {
for ( x=0; x<10; x++) {
printf("%c|",tab[x][y]); /* Affichage du tableau */
}

printf("\n- - - - - - - - - - \n");

}
system("pause");
}


Bonsoir, j'aimerais avoir une fonction qui me permettrait d'insérer un entier selon la ligne et la colonne choisie !
On m'a parlé de scanf mais je sais pas comment faire!
Auriez vous une idée ??
De plus, il faudrait respecter les règles du sudoku..c'est à dire que si y'a deux mêmes nombre sur la même ligne ou la colonne le signaler et dire au joueur qu'il y a une erreur.

Pourriez vous m'aider?
0
napsterockoeur Messages postés 198 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 30 juin 2010 10
5 janv. 2009 à 23:20
meme chose ke laffichage sauf tu change le printf par le scanf

int dim
printf("tu entre ta démensionn");
scanf("%d",dim);
for ( y=0; y<10; y++) {
for ( x=0; x<10; x++) {
scanf("%d",&tab[i][j]); lire le tableau ,,,,
}
0
Dante95400 Messages postés 12 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009
5 janv. 2009 à 23:24
Merci pour ta réponse rapide !

Pourrais tu m'expliquer un peu plus clairement s'il te plait car la programmation n'est pas mon fort...

Qu'est ce que la dimension ??
...

Merci!
0
napsterockoeur Messages postés 198 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 30 juin 2010 10
5 janv. 2009 à 23:30
dans ton source ta écri int tab[10][10]=....
le 10 c la dimension de ta matrice,

en déclare un entier de type int bien sur ; int dim,

scanf("%d",&dim); permet de lire l'entier ke tu vas tapé au clavier puis il vas le placé dans le dim c a dire ke dim=10, dans ton cas,

scanf("%d",dim);
les deux boucle vont se repeté de 0 juska 10 dans ton éxemple ou juska dim qui egall a 10 dans ce cas,,,


for ( y=0; y<dim; y++) {
for ( x=0; x<dim; x++)
scanf("%d",&tab[i][j];
}}

et puis voila ,
0
Dante95400 Messages postés 12 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009
5 janv. 2009 à 23:35
Merci pour ta réponse!

Donc je devrais quelque chose qui ressemble à ça ?

int 10
printf("10");
scanf("%d",10m);
for ( y=0; y<10; y++) {
for ( x=0; x<10; x++) {
scanf("%d",&tab[i][j]); lire le tableau ,,,,
}

J'arrive pas trop à comprendre désolé...

Pourrais tu m'écrire le code ?

Merci!
0
napsterockoeur Messages postés 198 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 30 juin 2010 10
5 janv. 2009 à 23:39
#include <stdio.h>
#include <stdlib.h>


int main(void){
int x,y,dim;
int tabl[9][9];

////////////////////////////////////////// lire a dimansion

printf("tu entre ta démensionn");
scanf("%d",dim); // lire la dimnsionn
///////////////////////////////////////// lire la table élément par élément

for ( y=0; y<dim; y++) {
for ( x=0; x<dim; x++) {
scanf("%d",&tab[i][j]); //lire le tableau ,,,,
}}
/////////////////////////////////////////////affiché la table

for ( y=0; y<9; y++){
for ( x=0; x<9; x++) {
printf("%d",tabl[x][y]);
}
}
system("pause");
}
0
Dante95400 Messages postés 12 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009
5 janv. 2009 à 23:52
Merci encore pour ta réponse !

Donc, est ce correcte ?

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>


int main(void){
/* Le titre du programme */
printf("\n ***** Sudoku ***** \n\n");

/* Initialisation du tableau */

int tab[10][10]={
{' ','1','2','3','4','5','6','7','8','9'},
{'A','8','0','3','1','5','9','0','0','0'},
{'B','0','0','0','2','6','0','0','0','7'},
{'C','0','6','2','0','0','0','0','0','0'},

{'D','0','0','0','0','9','0','6','5','0'},
{'E','5','3','0','0','0','0','4','0','0'},
{'F','9','0','0','0','7','0','0','1','8'},

{'G','0','0','0','9','3','8','0','6','0'},
{'H','0','4','0','0','0','0','7','8','0'},
{'I','3','5','0','6','0','0','0','0','0'},
};

/* Déclaration des variables x et y */
int x,y;
for ( y=0; y<10; y++) {
for ( x=0; x<10; x++) {
printf("%c|",tab[x][y]); /* Affichage du tableau */
}

printf("\n- - - - - - - - - - \n");

}
int x,y,dim;
int tabl[9][9];

////////////////////////////////////////// lire a dimension

printf("tu entre ta démensionn");
scanf("%d",dim); // lire la dimension
///////////////////////////////////////// lire la table élément par élément

for ( y=0; y<dim; y++) {
for ( x=0; x<dim; x++) {
scanf("%d",&tab[i][j]); //lire le tableau ,,,
}}
/////////////////////////////////////////////affiché la table

for ( y=0; y<9; y++){
for ( x=0; x<9; x++) {
printf("%d",tabl[x][y]);
}
}

getchar();
}

Dev-C++ m'a laché, je n'arrive plus à le lancer, je ne peux pas tester le programme :/

Donc comme cela je pourrais insérer un entier dans le tableau en entrant les coordonnés i et j ?
0
napsterockoeur Messages postés 198 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 30 juin 2010 10
6 janv. 2009 à 00:00
nooooooooooooooooooooooooooooooo, ce né pas correte , tu na pas besoin de sa maintentnt
int tab[10][10]={
{' ','1','2','3','4','5','6','7','8','9'},
{'A','8','0','3','1','5','9','0','0','0'},
{'B','0','0','0','2','6','0','0','0','7'},
{'C','0','6','2','0','0','0','0','0','0'},

{'D','0','0','0','0','9','0','6','5','0'},
{'E','5','3','0','0','0','0','4','0','0'},
{'F','9','0','0','0','7','0','0','1','8'},

{'G','0','0','0','9','3','8','0','6','0'},
{'H','0','4','0','0','0','0','7','8','0'},
{'I','3','5','0','6','0','0','0','0','0'},
};

parske avec scanf tu vas le rentré un par un bien aprés léxécution ,, le progrmm final c sa !

#include <stdio.h>
#include <stdlib.h>


int main(void){
int x,y,dim;
int tabl[9][9];

////////////////////////////////////////// lire a dimansion

printf("tu entre ta démensionn");
scanf("%d",dim); // lire la dimnsionn
///////////////////////////////////////// lire la table élément par élément

for ( y=0; y<dim; y++) {
for ( x=0; x<dim; x++) {
scanf("%d",&tab[i][j]); //lire le tableau ,,,,
}}
/////////////////////////////////////////////affiché la table

for ( y=0; y<9; y++){
for ( x=0; x<9; x++) {
printf("%d",tabl[x][y]);
}
}
system("pause");
}
0
Dante95400 Messages postés 12 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 6 janvier 2009
6 janv. 2009 à 00:15
Bon je vais voir ce que je peux faire...
J'te remercie !

Ca me prend la tête ^^ J'arrive pas trop à capter, la programmation et moi ça fait 2 !

Tu veux dire quoi par rentrer un par un avec scanf ?
Rentrer les valeurs dans le tableau ?
Il aurait fallu avoir un tableau initial puis le remplir si tu vois ce que je veux dire.


Merci pour ton aide
0
napsterockoeur Messages postés 198 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 30 juin 2010 10
6 janv. 2009 à 00:23
bon prend le source ke j tai donnée execute le
taura sa : en prend pas exemple dim 2
1 2
3 4

tu entre ta démensionn
(tu tape deux) 2 (aprés tu tape les élément de la table) 1234
(pour laffichage taura sa )1234
et voila jespere ke ta compris,,
amen
0