Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01Business



|||-  

problème Algo Bataille navale en C

 

1 utilisateur anonyme
Ajouter une réponse
 

 
Page photos
 
     
Vider la liste des messages à citer
 
 Page :
1
Auteur
 Sujet :

problème Algo Bataille navale en C

Prévenir les modérateurs en cas d'abus 
grosse-dob​e_en_C
grosse-dobe_en_c
  1. Posté le 04/12/2006 à 19:38:40  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Voila mon problème:
 Je fais un projet en info et je dois farie une bataille navale en C:
 -mon algo est trop long, je n'utilise pas de fonction parce que j'ai du mla a les faire fonctionner
 -je place les bateaux des deux joueur mais il me reste a créer les fonction d'attaque, de vérification de touché coulé et d'affichage de grille vierge avec des X O et ~ dans les grille d'attaque pour chaque joueu r et les fonction de touché et coulé  et donc de fin de partie.Si qqn peut m'éclairé pourles fonction ce serai simpa.

 Voici mon algo pour le joueur 1 le même est créer pour le joueur en dessous
 
 #include <conio.h>
 #include <stdio.h>
 #include <string.h>
 void main(void)
 {
 {
 //grille du joueur 1
 char grille1[12][12];
 int i,j;
 printf("grille du joueur 1\n" );
 printf("\n" );

 for (i=0;i<11;i++)

{for (j=0;j<11;j++)

{grille1[j]='~';

}

}

grille1[0][0]='0';

grille1[1][0]='A';

grille1[2][0]='B';

grille1[3][0]='C';

grille1[4][0]='D';

grille1[5][0]='E';

grille1[6][0]='F';

grille1[7][0]='G';

grille1[8][0]='H';

grille1[9][0]='I';

grille1[10][0]='J';

grille1[0][1]='1';

grille1[0][2]='2';

grille1[0][3]='3';

grille1[0][4]='4';

grille1[0][5]='5';

grille1[0][6]='6';

grille1[0][7]='7';

grille1[0][8]='8';

grille1[0][9]='9';

grille1[0][10]='0';
 for (i=0;i<11;i++)

{for (j=0;j<11;j++)

{printf("%c    ",grille1[j]);

}

printf("\n" );

printf("\n" );

printf("\n" );
 }
 printf("\n" );
 printf("\n" );
 printf("\n" );
 printf("\n" );

 //placement des bateaux, par le joueur 1

 //placement du porte-avion

 int apa1,opa1;
 {
 printf("joueur 1\n" );
 printf("\n" );
 printf("veuillez choisir la premiere coordonnees du porte-avion(5 cases):\t" );
 apa1=getch();
 printf("%c",apa1);
 switch(apa1)
 {
 case'A':apa1=1;break;
 case'B':apa1=2;break;
 case'C':apa1=3;break;
 case'D':apa1=4;break;
 case'E':apa1=5;break;
 case'F':apa1=6;break;
 case'G':apa1=7;break;
 case'H':apa1=8;break;
 case'I':apa1=9;break;
 case'J':apa1=10;break;

 }
 }
 scanf("%i",&opa1);
 if (opa1==0) opa1=10;
 int apa2,opa2;
 {
 printf("veuillez entrer la dernière coordonnée du porte-avion:\t" );
 apa2=getch();
 printf("%c",apa2);
 switch(apa2)
 {
 case'A':apa2=1;break;
 case'B':apa2=2;break;
 case'C':apa2=3;break;
 case'D':apa2=4;break;
 case'E':apa2=5;break;
 case'F':apa2=6;break;
 case'G':apa2=7;break;
 case'H':apa2=8;break;
 case'I':apa2=9;break;
 case'J':apa2=10;break;
 }
 }
 scanf("%i",&opa2);
 if (opa2==0) opa2=10;

 if (apa1==apa2+4)
 {grille1[apa1][opa1]='P';
 grille1[apa1-1][opa1]='P';
 grille1[apa1-2][opa1]='P';
 grille1[apa1-3][opa1]='P';
 grille1[apa1-4][opa1]='P';
 }

 if (apa1==apa2-4)
 {grille1[apa1][opa1]='P';
 grille1[apa1+1][opa1]='P';
 grille1[apa1+2][opa1]='P';
 grille1[apa1+3][opa1]='P';
 grille1[apa1+4][opa1]='P';
 }

 if (opa1==opa2-4)
 {grille1[apa1][opa1]='P';
 grille1[apa1][opa1+1]='P';
 grille1[apa1][opa1+2]='P';
 grille1[apa1][opa1+3]='P';
 grille1[apa1][opa1+4]='P';
 }

 if (opa1==opa2+4)
 {grille1[apa1][opa1]='P';
 grille1[apa1][opa1-1]='P';
 grille1[apa1][opa1-2]='P';
 grille1[apa1][opa1-3]='P';
 grille1[apa1][opa1-4]='P';
 }

 //placement du croiseur

 int ac1,oc1;
 {
 printf("\n joueur 1\n" );
 printf("\n" );
 printf("veuillez choisir la premiere coordonnees du croiseur(4 cases):\t" );
 ac1=getch();
 printf("%c",ac1);
 switch(ac1)
 {
 case'A':ac1=1;break;
 case'B':ac1=2;break;
 case'C':ac1=3;break;
 case'D':ac1=4;break;
 case'E':ac1=5;break;
 case'F':ac1=6;break;
 case'G':ac1=7;break;
 case'H':ac1=8;break;
 case'I':ac1=9;break;
 case'J':ac1=10;break;

 }
 }
 scanf("%i",&oc1);
 if (oc1==0) oc1=10;
 int ac2,oc2;
 {
 printf("\n veuillez entrer la dernière coordonnée du croiseur:\t" );
 ac2=getch();
 printf("%c",ac2);
 switch(ac2)
 {
 case'A':ac2=1;break;
 case'B':ac2=2;break;
 case'C':ac2=3;break;
 case'D':ac2=4;break;
 case'E':ac2=5;break;
 case'F':ac2=6;break;
 case'G':ac2=7;break;
 case'H':ac2=8;break;
 case'I':ac2=9;break;
 case'J':ac2=10;break;
 }
 }
 scanf("%i",&oc2);
 if (oc2==0) oc2=10;
 if (ac1==ac2+3)
 {grille1[ac1][oc1]='C';
 grille1[ac1-1][oc1]='C';
 grille1[ac1-2][oc1]='C';
 grille1[ac1-3][oc1]='C';
 }

 if (ac1==ac2-3)
 {grille1[ac1][oc1]='C';
 grille1[ac1+1][oc1]='C';
 grille1[ac1+2][oc1]='C';
 grille1[ac1+3][oc1]='C';
 }

 if (oc1==oc2-3)
 {grille1[ac1][oc1]='C';
 grille1[ac1][oc1+1]='C';
 grille1[ac1][oc1+2]='C';
 grille1[ac1][oc1+3]='C';
 }

 if (oc1==oc2+3)
 {grille1[ac1][oc1]='C';
 grille1[ac1][oc1-1]='C';
 grille1[ac1][oc1-2]='C';
 grille1[ac1][oc1-3]='C';
 }

 //placement du premier destroyer

 int ad1,od1;
 {
 printf("\n joueur 1\n" );
 printf("\n" );
 printf("veuillez choisir la premiere coordonnees du premier destroyer(3 cases):\t" );
 ad1=getch();
 printf("%c",ad1);
 switch(ad1)
 {
 case'A':ad1=1;break;
 case'B':ad1=2;break;
 case'C':ad1=3;break;
 case'D':ad1=4;break;
 case'E':ad1=5;break;
 case'F':ad1=6;break;
 case'G':ad1=7;break;
 case'H':ad1=8;break;
 case'I':ad1=9;break;
 case'J':ad1=10;break;

 }
 }
 scanf("%i",&od1);
 if (od1==0) od1=10;
 int ad2,od2;
 {
 printf("veuillez entrer la dernière coordonnée du destroyer:\t" );
 ad2=getch();
 printf("%c",ad2);
 switch(ad2)
 {
 case'A':ad2=1;break;
 case'B':ad2=2;break;
 case'C':ad2=3;break;
 case'D':ad2=4;break;
 case'E':ad2=5;break;
 case'F':ad2=6;break;
 case'G':ad2=7;break;
 case'H':ad2=8;break;
 case'I':ad2=9;break;
 case'J':ad2=10;break;
 }
 }
 scanf("%i",&od2);
 if (od2==0) od2=10;
 if (ad1==ad2+2)
 {grille1[ad1][od1]='D';
 grille1[ad1-1][od1]='D';
 grille1[ad1-2][od1]='D';

 }

 if (ad1==ad2-2)
 {grille1[ad1][od1]='D';
 grille1[ad1+1][od1]='D';
 grille1[ad1+2][od1]='D';

 }

 if (od1==od2-2)
 {grille1[ad1][od1]='D';
 grille1[ad1][od1+1]='D';
 grille1[ad1][od1+2]='D';

 }

 if (od1==od2+2)
 {grille1[ad1][od1]='D';
 grille1[ad1][od1-1]='D';
 grille1[ad1][od1-2]='D';

 }

 //placement du deuxième destroyer

 int ad3,od3;
 {
 printf("joueur 1\n" );
 printf("\n" );
 printf("veuillez choisir la premiere coordonnees du deuxième destroyer(3 cases):\t" );
 ad3=getch();
 printf("%c",ad3);
 switch(ad3)
 {
 case'A':ad3=1;break;
 case'B':ad3=2;break;
 case'C':ad3=3;break;
 case'D':ad3=4;break;
 case'E':ad3=5;break;
 case'F':ad3=6;break;
 case'G':ad3=7;break;
 case'H':ad3=8;break;
 case'I':ad3=9;break;
 case'J':ad3=10;break;

 }
 }
 scanf("%i",&od3);
 if (od3==0) od3=10;
 int ad4,od4;
 {
 printf("\n veuillez entrer la dernière coordonnée du destroyer:\t" );
 ad4=getch();
 printf("%c",ad4);
 switch(ad4)
 {
 case'A':ad4=1;break;
 case'B':ad4=2;break;
 case'C':ad4=3;break;
 case'D':ad4=4;break;
 case'E':ad4=5;break;
 case'F':ad4=6;break;
 case'G':ad4=7;break;
 case'H':ad4=8;break;
 case'I':ad4=9;break;
 case'J':ad4=10;break;
 }
 }
 scanf("%i",&od4);
 if (od4==0) od4=10;
 if (ad3==ad4+2)
 {grille1[ad3][od3]='D';
 grille1[ad3-1][od3]='D';
 grille1[ad3-2][od3]='D';

 }

 if (ad3==ad4-2)
 {grille1[ad3][od3]='D';
 grille1[ad3+1][od3]='D';
 grille1[ad3+2][od3]='D';

 }

 if (od3==od4-2)
 {grille1[ad3][od3]='D';
 grille1[ad3][od3+1]='D';
 grille1[ad3][od3+2]='D';

 }

 if (od3==od4+2)
 {grille1[ad3][od3]='D';
 grille1[ad3][od3-1]='D';
 grille1[ad3][od3-2]='D';

 }
 //placement du premier sous-marin

 int as1,os1;
 {
 printf("joueur 1\n" );
 printf("\n" );
 printf("veuillez choisir la premiere coordonnees du premier sous-marin(2 cases):\t" );
 as1=getch();
 printf("%c",as1);
 switch(as1)
 {
 case'A':as1=1;break;
 case'B':as1=2;break;
 case'C':as1=3;break;
 case'D':as1=4;break;
 case'E':as1=5;break;
 case'F':as1=6;break;
 case'G':as1=7;break;
 case'H':as1=8;break;
 case'I':as1=9;break;
 case'J':as1=10;break;

 }
 }
 scanf("%i",&os1);
 if (os1==0) os1=10;
 int as2,os2;
 {
 printf("\n veuillez entrer la dernière coordonnée du sous-marin:\t" );
 as2=getch();
 printf("%c",as2);
 switch(as2)
 {
 case'A':as2=1;break;
 case'B':as2=2;break;
 case'C':as2=3;break;
 case'D':as2=4;break;
 case'E':as2=5;break;
 case'F':as2=6;break;
 case'G':as2=7;break;
 case'H':as2=8;break;
 case'I':as2=9;break;
 case'J':as2=10;break;
 }
 }
 scanf("%i",&os2);
 if (os2==0) os2=10;

 if (as1==as2+1)
 {grille1[as1][os1]='S';
 grille1[as1-1][os1]='S';
 }

 if (as1==as2-1)
 {grille1[as1][os1]='S';
 grille1[as1+1][os1]='S';
 }

 if (os1==os2-1)
 {grille1[as1][os1]='S';
 grille1[as1][os1+1]='S';
 }

 if (os1==os2+1)
 {grille1[as1][os1]='S';
 grille1[as1][os1-1]='S';
 }
 //placement du deuxième sous-marin

 int as3,os3;
 {
 printf("joueur 1\n" );
 printf("\n" );
 printf("veuillez choisir la premiere coordonnees du deuxième sous-marin(2 cases):\t" );
 as3=getch();
 printf("%c",as3);
 switch(as3)
 {
 case'A':as3=1;break;
 case'B':as3=2;break;
 case'C':as3=3;break;
 case'D':as3=4;break;
 case'E':as3=5;break;
 case'F':as3=6;break;
 case'G':as3=7;break;
 case'H':as3=8;break;
 case'I':as3=9;break;
 case'J':as3=10;break;

 }
 }
 scanf("%i",&os3);
 if (os3==0) os3=10;
 int as4,os4;
 {
 printf("\n veuillez entrer la dernière coordonnée du sous-marin:\t" );
 as4=getch();
 printf("%c",as4);
 switch(as4)
 {
 case'A':as4=1;break;
 case'B':as4=2;break;
 case'C':as4=3;break;
 case'D':as4=4;break;
 case'E':as4=5;break;
 case'F':as4=6;break;
 case'G':as4=7;break;
 case'H':as4=8;break;
 case'I':as4=9;break;
 case'J':as4=10;break;
 }
 }
 scanf("%i",&os4);
 if (os4==0) os4=10;
 if (as3==as4+1)
 {grille1[as3][os3]='S';
 grille1[as3-1][os3]='S';

 }

 if (as3==as4-1)
 {grille1[as3][os3]='S';
 grille1[as3+1][os3]='S';

 }

 if (os3==os4-1)
 {grille1[as3][os3]='S';
 grille1[as3][os3+1]='S';

 }

 if (os3==os4+1)
 {grille1[as3][os3]='S';
 grille1[as3][os3-1]='S';

 }

 printf("\n" );
 for (i=0;i<11;i++)

{for (j=0;j<11;j++)

{printf("%c    ",grille1[j]);

}

printf("\n" );

printf("\n" );

printf("\n" );

}
 printf("\n" );
 printf("voila la grille, recommencez si sa vous plait pas" );
 getch();
 for(i=0;i<1200;i++)
 printf("\n" );
 clrscr();
 }
 getch();

}
 

boubouze_en_c_moins
  1. Posté le 04/12/2006 à 20:38:31  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
A oui t vraiment une daube!!! lol

(Publicité)
minus-et-cortex
Débutant confirmé (de 1 000 à 4 999 messages postés)
  1. Posté le 04/12/2006 à 21:39:03  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Salut!

 Déjà, pour condenser le code, je supprimerais les switch :



apa1=getch();
 printf("%c",apa1);
 switch(apa1)
 {
 case'A':apa1=1;break;
 case'B':apa1=2;break;
 case'C':apa1=3;break;
 case'D':apa1=4;break;
 case'E':apa1=5;break;
 case'F':apa1=6;break;
 case'G':apa1=7;break;
 case'H':apa1=8;break;
 case'I':apa1=9;break;
 case'J':apa1=10;break;
 }


 pour faire un truc du genre :



apa1 = apa1 - 'A' + 1;



 Ensuite, une fois que l'utilisateur a entré la première coordonnée, je lui proposerais les valeurs possibles pour la dernière coordonnée, au lieu de la lire car si on indique A1 pour la première, et par exemple A6 pour le porte avion, la grille n'est pas modifiée (car il aurait fallu entrer A5).
 De plus si tu entres a2 et a6 comme coordonnées pour le porte avion, cela provoque une erreur puisque le programme essaye de modifier la valeur de la grille sur un indice qui n'existe pas ('a' = 97, or l'indice maximum de la grille est 11). Tu ne testes pas ces valeurs.

 Cela me semble un bon début de correction avant de passer à la suite.

 @+

grosse-dobe_en_c
  1. Posté le 04/12/2006 à 21:48:58  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
j'ai essayé de changer ce que tu m'as donné mais:
 -Est ce que je dois le changer pour chaque bateau?
 -Quand je fais le changement, il me demande la deuxième coordonnée mais n'enregistre que la lettre:exemple
 je tape pour la dernière coordonnée A6, il enregistre A
 et passe au bateau suivant.
 Du coup j'ai laissé comme sa pour le moment,le temps de trouver une fonction qui attque un tableau et entre un simbole ds un troisième tableau créé.
 Si tu pouvais me dire juste si je change tout ou une partie ce serai simpa^^

 bonne soirée à toi

minus-et-cortex
Débutant confirmé (de 1 000 à 4 999 messages postés)
  1. Posté le 04/12/2006 à 22:02:49  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Si tu remplaces, pour tous les bateaux



switch(apa1)
 {
 case'A':apa1=1;break;
 case'B':apa1=2;break;
 case'C':apa1=3;break;
 case'D':apa1=4;break;
 case'E':apa1=5;break;
 case'F':apa1=6;break;
 case'G':apa1=7;break;
 case'H':apa1=8;break;
 case'I':apa1=9;break;
 case'J':apa1=10;break;
 }


par



apa1 = apa1 - 'A' + 1;


il devrait toujours afficher le chiffre de la coordonnée (il ne faut pas changer plus de choses que le switch).

(Publicité)
grosse-dobe_en_c
  1. Posté le 05/12/2006 à 13:48:21  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
C'est bon j'ai rectifié et cela marche très bien,merci beaucoup.
 Maintenant j'ai créé une fonction pour attaquer les bateaux:
 Je t'explique commenet je veux la faire marcher
 il y a deux tableau:grille 1 et grille2
 qui servent à placer les bateaux et 2 autres qui servent a voir où les joueurs attaque et si touché ou non.
 Qd le joueur 1 attaque:Ma fonction va vérifier , avec les coordonnées entrées par le joueur 1 si dans la grille2 P S C et D sont dans cette case(en gros si un bateau est présent) et va afficher X sinon un O.
 la fonction se relance si touché et sinon ellelance une fonction pour le joueur 2 identique a celle la.
 je te met ma  fonction parce qu'elle ne marche pas, dis moi ce que tu en pense

 
 //fonction d'attaque du joueur 1 sur la grille du joueur 2
 char fontion_attaque1(int abs,int ord)
 {
 printf("Veuillez entrer la coordonnees de la case attaquee" );
 abs=getch();
 printf("%c",abs);
 abs = abs - 'A' + 1;

 scanf("%i",&ord);
 if (ord==0) ord=10;

 if (grille2[abs][ord]='P'||'S'||'D'||'C')/​/la grille 2 est la grille de placement des bateau du joueur 2
  {
 grille3[abs][ord]='X';//la grille 3 est la grille vierge du joueur 1 ou apparait les croix ou les rond
 printf("touche" );
  }

else  {grille3[abs][ord]='O';

printf("rate" );

}
 }
 //relancer la fonction tant que touché, si raté, lancer fonction pour que le joueur 2 attaque
 //si bateau est touché complètement afficher couler
 //qd tous les bateau sont coulé, afficher fin de partie et le gagnant
 

minus-et-cortex
Débutant confirmé (de 1 000 à 4 999 messages postés)
  1. Posté le 05/12/2006 à 15:21:10  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Salut!

 



char fontion_attaque1(int abs,int ord)
 {
 printf("Veuillez entrer la coordonnees de la case attaquee" );
 abs=getch();
 printf("%c",abs);
 abs = abs - 'A' + 1;

 scanf("%i",&ord);
 if (ord==0) ord=10;

 if (grille2[abs][ord]='P'||'S'||'D'||'C')/​/la grille 2 est la grille de placement des bateau du joueur 2
 {
 grille3[abs][ord]='X';//la grille 3 est la grille vierge du joueur 1 ou apparait les croix ou les rond
 printf("touche" );
 }
 else {grille3[abs][ord]='O';
 printf("rate" );
 }
 }




 Plusieurs problèmes dans ta fonction :
 



char fontion_attaque1(int abs,int ord)


Tu déclares une fonction qui prends deux paramètres entiers et retourne un caractère. Cependant elle ne retourne aucune valeur (mot clé return absent de ta fonction).

 



char fontion_attaque1(int abs,int ord)
 {
 printf("Veuillez entrer la coordonnees de la case attaquee" );
 abs=getch();
 printf("%c",abs);
 abs = abs - 'A' + 1;

 scanf("%i",&ord);
 if (ord==0) ord=10;
 ...
 }


Tu transmets depuis le programme principal deux valeurs à ta fonction (que tu nommes abs et ord), mais la première chose que tu fais, c'est de modifier ces valeurs. Donc soit tu ne transmets aucun paramètre à ta fonction et tu les lis depuis la fonction elle-même (comme tu fais actuellement), soit tu transmets les coordonnes à la fonction, et dans ce cas, tu n'as pas besoin de le connaître à nouveau. Tout dépend de la manière dont tu appelles ta fonction.

 



if (grille2[abs][ord]='P'||'S'||'D'||'C')


Je doute que ce soit interprété correctement. Ce qui se passe :
 la priorité des opérateurs fait que d'un coté on va évaluer grille2[abs][ord] et de l'autre 'P'||'S'||'D'||'C'. Cette dernière expression vaut 1 (qui représente le booléen vrai, en l'occurence), et on affecte donc 1 à l'élément de la grille grille2[abs][ord]. La valeur de l'expression entière est 1 donc ce qui suit est toujours exécuté, on ne va jamais dans le else. La bonne manière est :



if ((grille2[abs][ord]=='P') ||
 (grille2[abs][ord]=='S') ||
 (grille2[abs][ord]=='D') ||
 (grille2[abs][ord]=='C'))


Il ne faut pas confondre = qui est l'affectation avec == qui teste l'égalité.

 @+

grosse-dobe_en_c
  1. Posté le 05/12/2006 à 18:53:50  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
ok c'est bon j'ai tout rectifié mais un problème subsiste toujour qui y était auparavant

 la partie de mon algo que je t'envoie est la fin, c'est a dire la fonction créé, l'appel de fonction, (et la fin avec le getch, pas très utile).
 J'ai déja défini les tableau de mise en place des bateau et des tableau vierge.

 /*----------------------------​----------------------------*/
 //fonction d'attaque du joueur 1 sur la grille du joueur 2
 void fontion_attaque1(int abs,int ord)
 ((({)))
 printf("%i",abs);
 abs = abs - 'A' + 1;

 print("%i",&ord);
 if (ord==0) ord=10;

 if ((grille2[abs][ord]=='P')||
 (grille2[abs][ord]=='S')||
 (grille2[abs][ord]=='D')||
 grille2[abs][ord]=='C'))
  {
 grille3[abs][ord]='X';
 printf("touche" );
  }

else  {grille3[abs][ord]='O';

printf("rate" );

}
 }
 /*----------------------------​------------------------------​--*/

 {
 int abs,ord;
 printf("Quelle case voulez-vous attaquer?" );
 abs=getch();
 scanf("%i",&ord);
 fonction_attaque1(abs,ord);
 }
 ;}
 }
 getch();
 }
 


 le logiciel me dis que le problème vient du symbole { que j'ai mis entre triple parenthèses et je ne comprend pas, si tu pouvais éclairer ma lanterne^^

(Publicité)
minus-et-cortex
Débutant confirmé (de 1 000 à 4 999 messages postés)
  1. Posté le 05/12/2006 à 19:05:16  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Je ne sais pas à quoi cela correspond, mais remplace ((({))) par {.
 Dans le corps de la fonction, remplace print("%i",&ord); par printf("%i",ord);.

 @+

grosse-dobe_en_c
  1. Posté le 05/12/2006 à 19:15:10  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
le ((({))) correspond a { c'est juste pour montrer le quel n'allait pas mais sinon je n'ai que { ds mon algo.
 j'ai modifié mais le problème reste le même le symbole { pose problème et je vois pas pourquoi

minus-et-cortex
Débutant confirmé (de 1 000 à 4 999 messages postés)
  1. Posté le 05/12/2006 à 23:18:19  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Ce n'est pas l'accolade '{' qui pose problème. C'est que dans ta fonction, grille2 et grille3 ne sont pas connus. Pour qu'ils le soient, il faudrait soit
 - tu les passes en paramètre de ta fonction en plus des coordonnées et donc avoir



 void fontion_attaque1(int abs,int ord,grille2[12][12],grille3[12][12])


et tu l'appelles de cette manière



fonction_attaque1(abs, ord, grille2, grille3);


depuis le programme principal qui connaît réellement les grilles

 - tu déclares les grilles comme variables globales de ton programme, donc en dehors du main



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

 grille1[12][12];
 grille2[12][12];
 grille3[12][12];
 grille4[12][12];

 int main(void){
 ...
 }


(Publicité)
minus-et-cortex
Débutant confirmé (de 1 000 à 4 999 messages postés)
  1. Posté le 06/12/2006 à 13:06:28  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Un petit programme de bataille navale : voir ce lien http://forum.telecharger.01net [...] ges-1.html

 Page :
1

Aller à :
 

Sujets relatifs
[ALGO] Traduction en algorithme d'un cpp Problème eurosport player sur pc
probléme de curseur dans photoshop probleme de musique sur diaporama open office
Probleme DD exFAT a FAT32 Gros problème : Operating system not found !
Plus de sujets relatifs à : problème Algo Bataille navale en C

Les 5 sujets de discussion précédents Nombre de réponses Dernier message
(résolu)Fenêtre de commande windows 2
Probleme d'affichage/resolution d'ecran 9
Basculer entre deux fichiers CSS [Résolu] 9
namo webeditor 2006 3
traitement du son sous java 12