Aidééé moiii svp

zakaryaej8 Messages postés 3 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 1 février 2009 - 30 janv. 2009 à 12:13
zakaryaej8 Messages postés 3 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 1 février 2009 - 1 févr. 2009 à 20:39
zakaryaej8
salut tout le monde; qui peut m'aidé  à écrire cet algorithme en langague C svp , je vous jure que c'est important pour moi. merçi algorithme est comme suite :
  
Algorithme de Booth (avec 3 registres: M, A et Q):

M

¬ Multiplicande, Q ¬ Multiplicateur, A ¬ 0, Q-1¬ 0, Compteur ¬n(nbr de bit de Q)



TANT QUE (Compteur > 0)


SI (Q





0


. Q


-1


) = (1.0)ALORS A




¬


A - MSINON SI (Q




0


. Q


-1


) = (0.1)ALORS A




¬


A + MFIN SI

FIN SI

Décale vers la droite les registres combinés A-Q (incluant Q




-1


)Compteur




¬


Compteur - 1FIN TANT QUE

5 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
31 janv. 2009 à 02:32
salut

je veux bien t'aider a le faire, mais pas le faire a ta place.

tu bloques sur quoi ?
0
zakaryaej8 Messages postés 3 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 1 février 2009
31 janv. 2009 à 19:29
zakaryaej8
bousoire
en faite je mme suis bloké sur le fait : comme applé l'adress numéro 0 du pointeur *Q . dans l'attente d'une réponce de votre part  .merçi bien
 coordialment
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
1 févr. 2009 à 03:35
*Q fonctionne...
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
1 févr. 2009 à 03:38
euh... je viens de lire ton MP, ca n'avait rien a faire en MP...

Message envoyé par ... le 31/01/2009 19:39:28
Sujet : voila ce que j'ai fait pour le moment. zakaryaej8

Message :

#include <stdio.h>

#include <stdlib.h>

int main()

{

short long_ch(char *s); 
// ca tu dois le declarer ailleur que dans le main
   int *Q ,*M ,A[100] ;

int L,cpt,j,n,q=0;

    Q = (int *) malloc(120); // 120 * sizeof(int) ?
    printf("entrer une chaine T:");
    scanf("%s",Q);
// Q est un int* et tu l'utilises comme un char*
    L =long_ch(Q); 
// la focntion c'est strlen
    printf("la chaine contien %d carac \n",L);
    free(Q);

    cpt=L;

    M = (int *) malloc(120);

    printf("entrer une chaine M:");

    scanf("%s",M);

    free(M);

    n=cpt;

   for(j=0;j<=n;j++)

      A[j]=0;

while(cpt>0)

          {

             if( (*Q [0]) = 1) // Q[0] ou *Q mais pas *Q[0] de plus, ici, Q est libere...
             A[100] = A[100]- *M;

          }

    return 0;

}

short long_ch(char *s)

{

    short i=0;

    while(*(s+i)) // s[i] est plus lisible
{

        i++;

}    return i;

}

ton code est plein d'erreurs
0

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

Posez votre question
zakaryaej8 Messages postés 3 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 1 février 2009
1 févr. 2009 à 20:39
zakaryaej8
merçi bien de vos remarques; je vais tenir compte, et je vais ésséyé de corrigé mes erreur, et je vais te contacté aprés. merçi bien une autre fois.(NB: je sui encore debutant)
0