Accueil > Forum > > > > 8 reines
8 reines
lundi 2 mars 2009 à 16:08:43 |
8 reines

mehdislim59
|
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"); } } void afficherechiquier(typeechiquier echiquier) { int i,j; for(i=1;i<max;i++) { printf(" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n"); for(j=1;j<max;j++) { if(echiquier[i][j]==1) { printf("| D "); } else printf("| "); } printf("\n"); } printf(" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n"); } int sansprise(typeechiquier e) { je suis bloker la .............. } main() { typeechiquier e; int a=0; lireechiquier(e); afficherechiquier(e); printf("\n\n"); a=sansprise(e); if(a==1) printf("en prise\n"); else printf("Bravo gagner"); getch(); } Si quelqu'un peut m'aider merci davance
|
|
lundi 2 mars 2009 à 16:10:46 |
Re : 8 reines

mehdislim59
|
typedef int ranger[max]; typedef int ranger2[max]; g oublier d'enlever ces deux lignes ne pas y faire attention 
|
|
mardi 3 mars 2009 à 14:41:43 |
Re : 8 reines

MahaYassine
|
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 !!
(tu ne serais pas un étudiant de l'isg à tunis)
|
|
mardi 3 mars 2009 à 19:06:48 |
Re : 8 reines

mehdislim59
|
je ne vois pas comment faire je ne vois pas ton idéeMahayassine ne pourait tu pas me montrer sil te plait? 
|
|
jeudi 5 mars 2009 à 14:12:33 |
Re : 8 reines

MahaYassine
|
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!!
|
|
jeudi 5 mars 2009 à 14:15:29 |
Re : 8 reines

MahaYassine
|
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 !!?
|
|
jeudi 5 mars 2009 à 16:20:22 |
Re : 8 reines

mehdislim59
|
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!!!
|
|
jeudi 5 mars 2009 à 16:55:51 |
Re : 8 reines

MahaYassine
|
c koi l'erreur la complication ? essaye de mettre ta structure comme ça:
struct position { int x; int y;};
et lors de la déclaration tu mets:
struct position p;
n'oublis pas de me donner l'erreur en cas où ça marche pas!!
|
|
jeudi 5 mars 2009 à 19:47:37 |
Re : 8 reines
|
jeudi 5 mars 2009 à 23:04:57 |
Re : 8 reines

MahaYassine
|
//voila essaye et di moi sa donne quoi #include <stdio.h> #include <conio.h> #define max 8 typedef struct position { int x; int y;}pos; typedef int typeechiquier[max][max]; void lireechiquier(typeechiquier echiquier, int n){ int i,j,cpt;pos p; //initialisation tableau for (i=0;i<max;i++){ for (j=0;j<max;j++){ echiquier[i][j]=0; } } for (cpt=0;cpt<n;cpt++){ printf( "Saisir le couple numero %d: \n" ,cpt+1); do {printf( "Saisir(i): " );scanf( "%d,%d" ,&p.x);} while (p.x<1 || p.x-1>n); //il ne faut pas dépasser le nombre choisi de reine do {printf( "Saisir(j): " );scanf( "%d,%d" ,&p.y);} while (p.y<1 || p.y-1>n);echiquier[p.x-1][p.y-1]=1; } } void afficherechiquier(typeechiquier echiquier, int n){ int i,j; for (i=0;i<n;i++){ printf( " _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n" ); for (j=0;j<n;j++){ printf( "--" ); if (echiquier[i][j]==1)printf( "| R |" ); else printf( "| |" );printf( "--" );} printf( "\n" );} printf( " _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n" );} //vérifier prise sur une ligne bool verifLigne(typeechiquier echiquier, int n){ int comp=0,i,j; for (i=0;i<n;i++){ comp=0; for (j=0;j<n;j++){ if (echiquier[i][j]==1)comp++; if (comp>1) return false ;} } return true ;} //vérifier prise sur une colonne bool verifColonne(typeechiquier echiquier, int n){ int comp=0,i,j; for (i=0;i<n;i++){ comp=0; for (j=0;j<n;j++){ if (echiquier[j][i]==1)comp++; if (comp>1) return false ;} } return true ;} //vérifier prise sur les diagonales bool verifDiagonale (typeechiquier echiquier, int n){ int comp=0,i,j,l=0,m=0; for (i=0;i<n;i++){ for (j=0;j<n;j++){ l=i; m=j; if (l==0 ||m==0){ comp=0; do { if (echiquier[l][m]==1)comp++; if (comp>1) return false ;l++; m++; } while (l<n && m<n);} } } return true ;} bool sansprise(typeechiquier echiquier, int n){ if (verifDiagonale(echiquier,n) && verifLigne(echiquier,n) && verifColonne(echiquier,n)){ printf( "Bravo gagné\n" ); return true ;} printf( "En prise\n" ); return false ;} int main(){ //saisie de n int n; do {printf( "Saisir n le nombre de reines :" );scanf( "%d" ,&n);printf( "\n" );} while (n<1 || n>max);typeechiquier e; lireechiquier(e,n); afficherechiquier(e,n); printf( "\n\n" );sansprise(e,n); getch(); }
|
|
Cette discussion est classée dans : int, printf, max, reines, typeechiquier
Répondre à ce message
Sujets en rapport avec ce message
probleme 8 dames fonction sans prise [ par mehdislim59 ]
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
appel de fonction [ par ibnjabal ]
Bonjour j'essaie de faire une fonction qui calcule la somme de deux matrice et ça fonctionne bien mais seulement c'est quand j'essaie de le faire dans
Passage par adresse d'un tableau de structures. [ par alekine ]
Bonjour, j'ai un problème pour passer par adresse un tableau de structures. Voilà mon code:#include #define L_MAX 2struct point //la structure d'un p
bitte hilfe!!!!!!!!! [ par sansan_2 ]
Bonjour!!!!!!!! le programme c est un FIFO (ringpufffer) et j aimerais avoir une amelioration. Apres execution du programme, faire une tabulation, un
problème de fonction [ par norton ]
voila j'aimerai savoir pk mon compilateur me dit :"ain.cpp(41) : warning C4551: function call missing argument list"je débute en C++ voila mon code :#
je ne comprends pas mon code n'affiche pas ma grille...de morpion [ par nicoworld ]
Voilà ben le .exe m'affiche pas ma grille cje ne comprends pas!!!!si quelqu'un peut me dire pourquoi????voilà le code://MORPION 10*10 :#include int ve
c++ creation d'un fichier texte a nom variable [ par sloaneaaaa ]
ben voila je voudrai creer un fichier texte auquel je puisse donner n'importe quel nom ms g des erreurs que je comprend pasle nom de fichier est ds un
probleme avec parametres [ par Amanobuo ]
Bonjour, et merci pour les info sur la dll fmod ! ma question : J'apprend le C++ et je fais des application en mode console. a partir de la fonction m
Multiplication d'une matrice par un scalaire [ par skrime ]
Bonjour, j'ai un exercice à faire qui consiste à multiplier une matrice par un scalaire en C (la prof ne veut pas qu'on se serve des boucles FOR), je
Pb de printf [ par AlexMAN ]
Bonjour, Voila, j'ai un ptit pb dans la fonction ki suit : si je place le printf ki suit getch() en commentaire, le code ne fonctionne plus, au contra
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|