derniere question C++ svp

derniere question C++ svp - C++ - Programmation

Marsh Posté le 12-09-2006 à 22:43:16    

donnez moi l'équivalent de cette fonction avec switch svp ! merci
c'est vraiment très important pour moi
 
 
bool DejaColorie(int x, int y)  
{
 if(MonImage->mat[x][y]!=1 && MonImage->mat[x][y]!=0)
return false;
        return true;
         
 
}
je vx remplacer if par switch svp merci bcp

Reply

Marsh Posté le 12-09-2006 à 22:43:16   

Reply

Marsh Posté le 12-09-2006 à 23:09:31    

T'as pas une petite idée?? Sans parler du fait que ça sert à rien et que ça déjà été dit plus tôt :/
 
Honnêtement, ça sert à quoi de t'aider pour ça? Si tu fais de la prog, t'as des cours, si tu postes à 22h43, t'as surement un accès au net.
Au boulot, tu posteras sur les forums pour savoir comment coder le projet auquel on t'aura assigné?


---------------
.
Reply

Marsh Posté le 13-09-2006 à 00:11:05    

La question n'est pas aussi triviale qu'elle en a l'air parce qu'il ne s'agit pas de comparaisons avec l'opérateur d'égalité, mais avec celui de la non-égalité. Cela dit, on s'en sort tout de même assez facilement avec :

Code :
  1. bool DejaColorie(int x, int y) 
  2. {
  3. switch(MonImage->mat[x][y]) {
  4.    case 0:
  5.       return true;
  6.       break;
  7.    case 1:
  8.       return true;
  9.       break;
  10.    default:
  11.       break;
  12.   }       
  13.   return false;
  14. }

Reply

Marsh Posté le 13-09-2006 à 00:17:29    

[:delarue5]
 
tiens ya pas trop de rapport avec le tomic, là , mais je me demandais en voyant le code :  
je sais bien qu'il faut mettre des break dans le cas du switch.
Mais dans le cas où on a un return, le break est il indispensable? si oui, pourquoi? sinon, pourquoi aussi ([:cupra])?
 
 
 
edit : mais sinon pour le tomic, je vois pas trop l'utilité du switch, là.
Quelle valeur prend ta matrice si la case est coloriee? pourquoi deux valeurs? [:wam]  
 


Message édité par gocho le 13-09-2006 à 00:25:54

---------------
Mon feedback
Reply

Marsh Posté le 13-09-2006 à 00:31:14    

Vous avez raison gocho, le break n'est pas indispensable quand il suit un return inconditionnel. Le default n'est pas non plus indispensable. Mais, c'est plus pédagogique de les montrer. C'est aussi une bonne habitude de mettre systématiquement des break et un default, parce que si on les oublie, dans certaines situations (pas celle de cet exemple), cela peut s'avérer très gênant.

Reply

Marsh Posté le 13-09-2006 à 00:34:25    

olivthill a écrit :

Vous avez raison gocho, le break n'est pas indispensable quand il suit un return inconditionnel. Le default n'est pas non plus indispensable. Mais, c'est plus pédagogique de les montrer. C'est aussi une bonne habitude de mettre systématiquement des break et un default, parce que si on les oublie, dans certaines situations (pas celle de cet exemple), cela peut s'avérer très gênant.


 
 
1 - on me tutoie, merci [:dawa]
2 - oue, je sais bien qu'il est pas plus mal de les mettre, je me posais juste la question pour ce cas precis.
3 - oue :o je les oublie plus trop depuis que j'ai passé 2h à chercher pourquoi une appli ne marchait pas...switch sans break...ca marche moins bien [:cupra]


---------------
Mon feedback
Reply

Marsh Posté le 14-09-2006 à 17:25:46    

Si vous voulez .. La question tournait autour de remplissage d'une case et dans le header, on a définit pour chaque couleur (gris noir ou blanc) des valeurs qui seront par exemple 0, 1 ou 2 donc selon que la matrice a la valeur 0 ou 1 ne rien faire et si elle prends la valeur deux, colorier le pixel,
 
voila j'espere avoir répondu a votre question,
merci.

Reply

Marsh Posté le 15-09-2006 à 00:51:44    

ah ok! oui c'est bon je voyais bien le principe du colorié ou non, mais je ne comprenais pas le pourquoi des 3 valeurs.
Effectivement, c'est une maniere logique de savoir si elle est coloriée, et en plus de savoir de quelle couleur. :)


---------------
Mon feedback
Reply

Marsh Posté le 16-09-2006 à 17:17:07    

multi -> http://forum.hardware.fr/hardwaref [...] 6101-1.htm
 
En plus à ce point là, ce n'est pas l'aider pour ces examens que lui expliquer X fois la même chose :jap:


Message édité par slash33 le 16-09-2006 à 17:18:56
Reply

Marsh Posté le 17-09-2006 à 12:27:46    

sadrine_guillerme a écrit :

donnez moi l'équivalent de cette fonction avec switch svp ! merci
c'est vraiment très important pour moi
 
 
bool DejaColorie(int x, int y)  
{
 if(MonImage->mat[x][y]!=1 && MonImage->mat[x][y]!=0)
return false;
        return true;
         
 
}
je vx remplacer if par switch svp merci bcp


 
En plus court et sans switch :
 

Code :
  1. bool DejaColorie(int x, int y)
  2. {
  3. return (MonImage->mat[x][y]==1 && MonImage->mat[x][y]==0)
  4. }


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed