Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

multi sélection

Posté par
marie06
12-04-11 à 15:37

bonjour,
je ne sais pas si je suis au bon endroit pour ma question.
voilà, je travaille sur un pgm où il y a 16 critères de sélections. qui peuvent être utilisés, ou pas !
existe 'il un algorithme "simple" qui permette de traiter TOUTES LES POSSIBILITES ?
merci pour votre aide

Posté par
Simpom
re : multi sélection 12-04-11 à 16:36

Salut.

Dis moi si je comprends bien ton problème : dans ton programme, tu as des variables a1...a16 qui peuvent prendre la valeur Vrai ou Faux, et tu cherches à traiter proprement tous les cas. Ai-je bon ?

Si c'est ça, le premier truc que je vois, c'est que ça fait quand même 2^{16}=65536 possibilités au total... c'est pas rien !

Qu'est-ce qui te pose problème exactement ? 'Juste' de ne pas oublier un cas ?

Posté par
marie06
multisélections 14-04-11 à 17:49

bonjour,
merci pour ta réponse.
oui, tu as très bien compris.
les critères ne sont pas exhaustifs.
j'ai commencé à traiter les cas possibles, j'en suis à 780 pages !
pas possible de maintenir une telle usine à gaz...
65536 possibilités. c'est bien là mon problème...
il faut que je trouve un moyen de réduire ces possibilités. pas d'autre solutions.
encore merci

Posté par
Simpom
re : multi sélection 14-04-11 à 22:57

Pour ce qui est de réduire le nombre de choix, je ne peux pas faire grand chose... il faut analyser si des cas sont redondant.

Par contre, si tu veux éviter une structure de la forme :
si a1
  si a2
    si a3
      ...
    sinon
      ...
  sinon
    si a3
      ...
    sinon
      ...
sinon
  si a2
    si a3
      ...
    sinon
      ...
  sinon
    si a3
      ...
    sinon
      ...


Je peux te proposer de coder tes variables sous forme d'un code qui contient des 0 ou 1 selon que ta variable est Vrai ou Faux. Si je reprends mon exemple avec a1, a2 et a3, tu pourrais avoir :

si 000: (a1=a2=a3=faux)  ...
si 001: ...
si 010: ...
si 011: ...
si 100: ...
si 101: ...
si 110: ...
si 111: (a1=a2=a3=vrai) ...


N'hésite pas à préciser ce que tu cherches à faire, j'ai envie de relever le défi algorithmique !!



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !