mehdislim59
Messages postés8Date d'inscriptionjeudi 26 février 2009StatutMembreDernière intervention 5 mars 2009
-
2 mars 2009 à 16:08
MahaYassine
Messages postés31Date d'inscriptionmercredi 26 mars 2008StatutMembreDernière intervention 4 février 2010
-
5 mars 2009 à 23:04
bonjour je suis nouvo et je debute en programmation et je voudrais
savoir comme resoudre mon petit probleme sur les 8 reines je suis mon
enoncé qui me di de faire une procedure ou il y a une mise a zero de la
matrice et de rentrer les coordonnees de mes reines puis une procedure
de réaffichage de la matrice jusque ici tout va bien !!
mais apres je dois faire une fonction sans prise avec en parametre la matrice
#include<stdio.h>
#define max 9
typedef int typeechiquier[max][max];
typedef int ranger[max];
typedef int ranger2[max];
void lireechiquier(typeechiquier echiquier)
{
int i,j,n,cpt;
//saisie de n
printf("Saisir n :");
scanf("%d",&n);
printf("\n");
//initialisation tableau
for(i=1;i<max;i++)
{
for(j=1;j<max;j++)
{
echiquier[i][j]=0;
}
}
for(cpt=1;cpt<=n;cpt++)
{
printf("Saisir le couple (i,j) : ");
scanf("%d,%d",&i,&j);
printf("\n");
MahaYassine
Messages postés31Date d'inscriptionmercredi 26 mars 2008StatutMembreDernière intervention 4 février 2010 3 mars 2009 à 14:41
Normalement dans la fonction sansPrise tu devrais y faire trois parties:
*vérification de la ligne
*vérification de la colonne
*vérification de la diagonale (sans oublier que la diagonale coentient deux parties)
ça serais simple de faire la vérification, mais cette dérnière doit se faire part rapport à une position, c'est à dire la fonction sera à peut près comme ça: sansPrise(echiquier e ,position p) => pour vrérifier si en plaçant une reine à la position p elle pourrait être attaquée ou pas.
j'éspère que j'étais clair !!
MahaYassine
Messages postés31Date d'inscriptionmercredi 26 mars 2008StatutMembreDernière intervention 4 février 2010 5 mars 2009 à 14:12
nous supposons que position est une structure contenant 2 attributs:
* x ==> ligne
* y==> colonne
bool sansPrise(typeechiquier e, position p)
{
if(verfierligne(e,p) && verifiercolonne(e,p) && veriferdiag(e,p)
return true;
return false;
}
bool verifierligne(typeechiquier e, position p)
{
for (int i=0; i<nbcolonne;i++){
if( e[p.x][i] ==1 )
return false; //il y a une prise !!
}
return true;
}
voila c'est à peu près ça !!
tu fais idem pour le reste !!
le code je l'ai écrit directement (il n'est pas complié)
essaye et dis moi si c'est bon ou pas!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
MahaYassine
Messages postés31Date d'inscriptionmercredi 26 mars 2008StatutMembreDernière intervention 4 février 2010 5 mars 2009 à 14:15
une petite sansPrise c'est pour vérifier s'il est possible d'ajouter une reine à une position P ou pour juste vérifer l'échiquier à la fin de l'éxécution, c a d après avoir mis ttes les reines !!?
mehdislim59
Messages postés8Date d'inscriptionjeudi 26 février 2009StatutMembreDernière intervention 5 mars 2009 5 mars 2009 à 16:20
ji arrive pas jsui trop nul mdr g poser ma stuct{int x,y;}position;
if( e[p.x][i] ==1 ) g un probleme par rapport a cette ligne lors de la compilation et sa marche pas lol dsl de vous embétez autant!!!