La fonction if tene else en C

Bonjour,
est ce que il y a quelqu'un peut m'aider pour implémenter cette fonction en C

Entrées : F, G, H : ROBDD
Sortie : ROBDD

début
      si cas terminal alors
              Renvoyer (resultat)
     sinon si ({F, G, H}best une entrée de la table computed-table) alors
               Renvoyer (resultat)
      sinon // Soit v la variable top de {F, G, H}
              T <-  ite (Fv, Gv, Hv)
               E <- ite (F v , G v , H v )
                    si T = E alors
                              Renvoyer (T)
                    R<-recherche_ or_ ajout_unique-table (v, T, E)
                     Insert_computed-table ({F, G, H}, R)
                    Renvoyer (R)
     fin


merci d'avance

19 réponses

  1. On est pas là pour faire tes exercices.
    0
    1. SVP AIDER MOI A FAIRE CE PROGRAMME JUST LE DEBUT
      0
      1. int main(int argc, char** argv)
        0
        1. ça je le connais
          et apres
          0
          1. Contributeur
            tu voulais "juste le début" tu l'as.
            0
            1. met
              int main(int argc, char** argv)
              {
              fonctionIfTeneElseEnC();
              return 0;
              }

              une fois que t'aura codé la fonction, ce sera bon.
              0
              1. mon probleme c'est cmt ecrire la fonction
                fonctionIfTeneElseEnC();
                0
                1. ben t'as déjà l'algo, t'as plus qu'à le traduire en C.
                  0
                  1. Pas faux ;)
                    C'est ca que j'aime bien, sur CCM : Sa philosophie.
                    sdfsam : On n'est pas là pour coder tout tes problèmes. On est là pour t'apprendre comment faire, à programmer, à comprendre et à t'aiguiller.
                    Donne un poisson à un homme, il mangera un jour.
                    Apprends-lui à pecher, il mangera toute sa vie.

                    Ici c'est la même chose : On ne vva pas te donner un code tout fait, on va uniquement t'appendre à programmer, ce qui te servira souvent ;)
                    0
                    1. justement j'ai pas peux c'est pour cela j'ai postulé ici
                      svp si vous avez une idée n'histe pas me la transmet
                      et merci bien
                      0
                      1. Si tu souhaites apprendre à programmer, alors voici un excellent cours :
                        https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
                        Toute la première partie parle des fonctions pour els algorithmes, juste ce qu'il te faut ! Boucles, conditions, fonctions, ...
                        Après, tu seras parfaitement capable de retranscrire ton algorithme. Et si tu as un problème, envoi-nous ton code, et on te corrigera ou on t'aidera. Mais pas de code tout fait...
                        0
                        1. je l'ai fai mais cmt declarer une fonction booleen car ma fonction doit avoir comme entree des fonction booleen
                          moi je l'ai fait pour des des int 0 et 1

                          int ITE (int x, int y, int z)
                          {
                          int x,y,z,r; // r c'est le resultat

                          if((x==0&&z==1)||(x==1&&y==1)) // les cas ou ma fonction bollen vaut 1
                          {
                          r=1;
                          return(r);
                          }
                          else
                          {
                          r=0;
                          return (r);
                          }
                          0
                          1. Les booléens n'existent pas en C... C'est du C++ !
                            Mais les 0 et les 1 fonctionnent très bien, comme des booléens.
                            Tu peux déclarer int true=1, false=0; en début de code si tu veux absolument utiliser true et false.
                            Egalement, pour ton code, même si cela ne change pas grand chose, tu n'es pas obligé de retourner une variable.
                            Au lieu de :
                            r=1; 
                            return(r);
                            Tu peux mettre :
                            return 1;
                            Et si tu as déclaré true/false :
                            return true;
                            0
                            1. mon but c'est pas d'avoir le true ou le false mais de returner la valeur de la fonction
                              ite comme suit
                              ITE(X,Y,Z==X*Y +!X*Z avec X,Y et Z des fonction booleen (!X et le complement de X)
                              0
                              1. Contributeur
                                ce que tu as commencé à écrire n'est pas si mal.
                                Dans ta fonction ITE, il ne faut pas redéclarer x y et z, met juste r (et comme le dit Bilow, r est inutile dans ton cas).
                                comprends pas ton histoire de retour de fonction ITE...
                                0