Programmer une fonction en C

Fermé
sdfsam Messages postés 60 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 mai 2011 - 22 janv. 2011 à 22:55
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 28 janv. 2011 à 20:55
bonsoir,
j'ai une fonction que je dois programmer .
le rôle de ma fonction est de faire une opération "BINAIRE" entre deux deux autres qui présentent deux diagramme binaire (DDB)
j'ai l'algorithme et les sous fonctions utilisées:
F,G,H sont des fonctions connues(portes logiques par exemple avec comme argument leurs entrées)

Algorithm:

Diagramme Binaire-OP(F,G,op)

Debut

    If (F =1 or F =0) and(G =1 or G =0) then
           
            Return(F op G)
   
         else
           
                R := T [F,G]

                 If (R = NULL)    / *le Diagramme Binaire de( F op G) est déjà calculé*/
                  
                 Return(R)

                else

                      R :=creer un new Diagramme Binaire

                      T [F,G]:= R  /* stoker le resultat dans une  T */
                      index(R):=min(index(F),index(G))

                              If (index(F)= index(R)) then

                                L1:= Fr F ; H1:= Fr F

                                   [b]Dans le cas contraire/b

                                  L1:= F; H1:= F

                              End if

                    If (index(G)= index(R)) then

                         L2:= Gr G ; H2:= Gr G

                                 [b]Dans le cas contraire/b

                                  L2:= G; H2:= G

                   Fin if

                      Rr R :=BDD-OP-1(L1,L2,op)

                     Rr R :=BDD-OP-1(H1,H2,op)

                     Return(R)

       Fin if

     Fin if

End


merci d'avance


A voir également:

26 réponses

sdfsam Messages postés 60 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 mai 2011
28 janv. 2011 à 15:20
bonjour;

merci pour une autre foi, tellement vous m'avez donné bcp d'informations pour

me débloquer, je pense que jesuis dans la bonne voie donc svp contenuez de

me suivre et me guider pour arriver à un résultat.

pour le main.c je dois écrire dedans le fonctionnement de l'algorithme n'est ce

pas??


explique moi par vos exemples comme précédemment.


vous m'avez dis que

Je n'ai pas testé le code c'est juste pour te donner de quoi démarrer mais dans l'idée ça ressemble à ça.

svp testez le et rebond mois car moi il me manque le main .c pour le faire

merci bien Mr mamiemando
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
28 janv. 2011 à 20:55
Pour le main oui tu dois écrire ce que fait ton programme. Il doit lire le fichier comme je t'ai indiqué et appeler les fonctions qui permettent de construire l'arbre.

Je n'ai pas le temps de tester. Je pense t'avoir donné suffisamment d'éléments pour que tu puisses te débrouiller. Si je fais ton travail à ta place c'est sans intérêt car tu n'apprendras rien. Je préfère donc te laisser un peu chercher.
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
26 janv. 2011 à 00:05
pour les premières erreurs il fallait mettre :
char *buffer =(char*) malloc(n * sizeof(char));
char *triplet = (char*)malloc(n * sizeof(char));


C'est ce que j'ai écrit :s

getline(&buffer, &n, fp) != -1 j'arrive pas ;
je pense que mon compilateur Dev C++ ne l'accepte pas.


C'est une fonction non standard qui ne doit pas être présente dans ta libc c'est juste ça. Tu peux t'en sortir avec un fgets à la place, le but c'est de lire le fichier ligne par ligne.
http://www.linux-kheops.com/doc/man/manfr/man-ascii-0.9/man3/fgets.3.txt.html

#include <stdio.h>

int main(){
    const char     * filename = "fichier.txt";
    FILE           * fp       = fopen(filename, "r");
    const int        buf_size = 255;
    char             buffer[buf_size];
    unsigned         no_line;
    int              ret;

    if(!fp){
        fprintf(stderr, "Impossible de lire %s\n", filename);
        ret = 1;
    }else{
        for(no_line = 0; fgets(buffer, buf_size, fp); no_line++){
            printf("Ligne %d: %s", no_line, buffer);
        }
        fclose(fp);
        ret = 0;
    }

    return ret;
}


Bon rassure-moi je ne vais pas tout faire :s

j'ai eu un code en C via un ami (cet ami je l'ai perdu)qui est plein de fonctions de genre expliquer en haut et je veux bien le compiler mais malheureusement ça marche pas car il manque quelques déclarations.

Tu comprendras aisément que je ne peux pas deviner les fonctions qu'il a écrit. À part y piocher des idées à mon avis tu n'en feras pas grand chose.

est ce que il y a une possibilité de vous l'envoyer pour me le corriger si c'est
possible votre email, car je vous trouve que vous pouvez bien m'aider.


Non je fonctionne uniquement via le forum.

Bonne chance
-1
sdfsam Messages postés 60 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 mai 2011
26 janv. 2011 à 12:34
merci comme, je vous informe que vous m'avez bien aidé mais j'ai tjrs des petit

problèmes j'essaye de les corriger.

moi je veux bien implémenter les algorithme cité en haut

que j'ai trouvé dans:

https://onlinelibrary.wiley.com/action/cookieAbsent

est ce que on peut les implementer.
merci de me répondre
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
26 janv. 2011 à 19:52
On peut tout implémenter en C si on est capable de modéliser un traitement par une algorithme. Donc oui.
-1
sdfsam Messages postés 60 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 mai 2011
26 janv. 2011 à 20:36
bonsoir,

moi j'ai tout dans la doc sur le lien précèdent; mais j'arrive à l'implémenter je

vous demande de me donnez le juste le début pour commencer .


svp aidez moi à implémenter ces algorithme si vous pouvez bien sur


sinon merci bien pour vos informations précédentes Mr mamiemando


salutation
-1