Puissance 4
Fermé
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
-
11 mai 2005 à 17:54
renaudh Messages postés 138 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 2 septembre 2016 - 13 mai 2005 à 18:52
renaudh Messages postés 138 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 2 septembre 2016 - 13 mai 2005 à 18:52
A voir également:
- Puissance 4
- Test puissance pc - Guide
- Puissance wifi - Guide
- Code gta 4 ps4 - Guide
- Puissance en c - Forum Programmation
- Control center 4 - Télécharger - Divers Utilitaires
4 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
11 mai 2005 à 19:41
11 mai 2005 à 19:41
Tu crois qu'on va se taper tout ton truc à mater... c'est un peu long franchement... je te conseil de faire un trace de ton programme pour voir exactement à quel endroit et quel moment tu as le débordement de mémoire et quand tu as trouvé tu revient nous voir en nous le disant car la.... j'te dit c'est bien trop long.
++
++
TLa
Messages postés
57
Date d'inscription
mercredi 11 mai 2005
Statut
Membre
Dernière intervention
14 février 2009
12
11 mai 2005 à 22:16
11 mai 2005 à 22:16
j'ai pas tout lu mais I et J ne sont pas conformes au 5 et 6 qui trainent dans le code
en C les tableaux c'est de 0 à N exclu, pour tab[N]
en C les tableaux c'est de 0 à N exclu, pour tab[N]
#include <stdio.h> #define I 6 #define J 7 int tableau[I][J]; void imprimegrille (int tab[I][J]) { int i,j; for(i=0;i<I;i++) { for(j=0;j<J;j++) printf("+---"); printf("+\n"); for(j=0;j<J;j++) { printf("| %d ",tab[i][j]); } printf("|\n"); } for(j=0;j<J;j++) printf("+---"); printf("+\n"); } int main(int argc,char **argv) { imprimegrille(tableau); return 0; }
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
3
12 mai 2005 à 16:09
12 mai 2005 à 16:09
L'erreur se fait à la saisie de la colonne donc ce paragraphe-ci:
J'ai modifié les define avec 6 et 7 et changer les conditions dans imprimetableau mais bon apparemment, cette fonction allait déjà auparavant.
Merci pour votre aide.
void saisiej (int tab[I][J], int i, int j){ i=I-1; j=0; printf("Entrer la colonne\n"); scanf("%d",&j); j--; while ((j<0) || (j>J-1)){ printf("Entrer la colonne\n"); scanf("%d",&j); j--; } while (tab[i][j]!=0){ while ((i>0)&&(tab[i][j]!=0)){ i--;} if ((i==0)&&(tab[i][j]!=0)){ i=I-1; while ((j<0)||(j>J-1)){ printf("Entrer la colonne\n"); scanf("%d",&j); j--; } } } tab[i][j]=1; }
J'ai modifié les define avec 6 et 7 et changer les conditions dans imprimetableau mais bon apparemment, cette fonction allait déjà auparavant.
Merci pour votre aide.
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
3
13 mai 2005 à 18:52
13 mai 2005 à 18:52
Mon programme va un peu mieux, la saisie fonctionne mais pas la vérification des 4 pions alignés. Voici les entêtes, appels et prototypes des fonctions:
saisie:
entête:
appel:
prototype:
vérification:
entête:
appel:
prototype:
Donc à la saisie, j'entre la colonne et le programme met 1 dans la case du tableau, ensuite quand je sors de la fonction "saisiej", la valeur de la case se remet à 0 et donc la vérification n'a pas lieu, ke dois-je corriger svp?
saisie:
entête:
void saisiej (int tab[I][J])
appel:
saisiej(tab);
prototype:
void saisiej (int [I][J]);
vérification:
entête:
void verifj (int pionsalignesj)
appel:
verifj(pionsalignesj);
prototype:
void verifj (int);
Donc à la saisie, j'entre la colonne et le programme met 1 dans la case du tableau, ensuite quand je sors de la fonction "saisiej", la valeur de la case se remet à 0 et donc la vérification n'a pas lieu, ke dois-je corriger svp?