Condition pour boucle while en C et pointeurs
Répondre à la discussion
Affichage des résultats 1 à 30 sur 30

Condition pour boucle while en C et pointeurs



  1. #1
    inviteb36b3ad0

    Condition pour boucle while en C et pointeurs


    ------

    Bonsoir tout le monde
    Voici le (un des) code source de la fonction strcmp en C qui compare la taille de deux chaines de caractères.
    Code:
    int strcmpp(const char *chaine1, const char *chaine2)
    {
        int ret = 0;
    
        while (!(ret = *(unsigned char *) chaine1 - *(unsigned char *) chaine2) && *chaine2)
        {
            ++chaine1, ++chaine2;
        }
    
        if (ret < 0)
        {
            ret = -1;
        }
        else if (ret > 0)
        {
            ret = 1;
        }
    return ret;
    }
    Dans les conditions de while je ne comprends pas ce que veut dire
    Code:
    && *chaine2
    que veut dire *chaine2 ? quand est-ce que cette condition est-elle vérifiée ?

    Et est-ce que
    Code:
    *(unsigned char *) chaine1 - *(unsigned char *) chaine2
    est équivalent à
    Code:
    int i=0;
    chaine1[i]-chaine2[i];
    i++;
    ?

    Merci d'avance.

    -----

  2. #2
    invite4492c379

    Re : Condition pour boucle while en C et pointeurs

    Hello,

    Citation Envoyé par megaflop Voir le message
    Bonsoir tout le monde
    Voici le (un des) code source de la fonction strcmp en C qui compare la taille de deux chaines de caractères.
    strcmp compare asciibétiquement les deux chaines et non juste la taille.

    Citation Envoyé par megaflop Voir le message
    (...)
    Dans les conditions de while je ne comprends pas ce que veut dire
    Code:
    && *chaine2
    que veut dire *chaine2 ? quand est-ce que cette condition est-elle vérifiée ?
    En c, *chaine2 correspond au caractère pointé par chaine2. Il est évalué comme un booléen, si le caractère pointé vaut 0 (ce qui signifie fin de chaine) alors *chaine2 est false, s'il vaut autre chose *chaine2 est true. La condition pourrait en fait s'écrire (*chaine2!=0). En langage clair cela signifie en fait «tant que pas fin de chaine2»

    Citation Envoyé par megaflop Voir le message
    Et est-ce que
    Code:
    *(unsigned char *) chaine1 - *(unsigned char *) chaine2
    est équivalent à
    Code:
    int i=0;
    chaine1[i]-chaine2[i];
    i++;
    ?

    Merci d'avance.
    Au cast près :

    ((unsigned char) chaine1[i]) - ((unsigned char) chaine2[i])

    qui est positif (resp. négatif) si le caractère pointé par chaine1 est plus grand (resp. petit) que celui pointé par chaine2 dans l' ordre ascii, nul si ce sont les mêmes caractères.

  3. #3
    inviteb9f49292

    Re : Condition pour boucle while en C et pointeurs

    Code:
    *chaine2
    strcmp compare les "nul-terminated-string", donc finies par le marqueur de fin de chaîne '\0' dont la valeur vaut... 0, donc "faux" et la boucle s'arrête. On ne teste que le caractère de "chaine2" puisque ce teste n'est effectué que si les caractères courant de "chaîne1" et "chaîne2" sont égaux (leur différence vaut 0). A oui, "chaine1" et "chaine2" sont des pointeurs sur (adresses de) caractères, et "*" est l'opérateur de déréférencement (?) "contenu de". Il faut que tu apprennes l'utillisation des pointeurs, indispensable en C...

    Et est-ce que
    Code:

    *(unsigned char *) chaine1 - *(unsigned char *) chaine2

    est équivalent à
    Code:

    int i=0;
    chaine1[i]-chaine2[i];
    i++;

    ?
    Pas tout à fait. La condition
    Code:
    chaine1[i]-chaine2[i]
    est bien équivalente à
    Code:
    *chaine1 - *chaine2
    mais
    Code:
    i++;
    est équivalent à
    Code:
    ++chaine1, ++chaine2;
    Attention il vaut mieux utiliser "strncmp (const char* str1, const char* str2, size_t n_max)", pour les cas où aucune des deux chaînes ne contiennent '\0', la condition à ajouter est facile.

    oups grillé

  4. #4
    inviteb36b3ad0

    Re : Condition pour boucle while en C et pointeurs

    Merci beaucoup pour vos réponse

    Alors maintenant j'ai un petit problème, j'essaie d'écrire le code source de strchr mais il y a quelque chose dans mon code qui fait que ça ne marche pas.
    Code:
    #include<stdio.h>
    
    char* strchrr (const char chaine1[],int c);
    
    int main(void)
    {
    	char chaine1[100];
    	unsigned char caractere;
    	char *ptr;
    
    	printf("Ce programme retourne l'adresse de la premiere occurence d'un caractere dans une chaine");
        printf("\nEntrez la chaine de caracteres: ");
    	scanf("%s", chaine1);
        printf("\nEntrez le caractere a rechercher: ");
        scanf("%hhu",caractere);
    
    	ptr=strchrr(chaine1,caractere);
    
    	if (ptr == NULL)
    	{
        printf("\nLe caractere n'a pas ete trouve.\n");
    	}
    	else
    	{
    	printf("\nLe caractere a ete trouve a l'adresse %d et la position %d\n",ptr,ptr - chaine1+1);
    	}
    return 0;
    }
    
    char* strchrr (const char chaine1[],int c)
    {
        while (*chaine1)
        {
            if(*(unsigned char*)chaine1==c)
            {
            return (char*) chaine1;
            }
            chaine1++;
        }
        return NULL;
    }
    Le programme ne trouve jamais le caractère demandé même s'il se trouve dans la chaîne.
    Un peu d'aide ?

    Et je ne comprends pas non plus la notation
    Code:
    return (char*) chaine1;
    Que veut-elle exactement dire ? Pourquoi cela ne fonctionne-t-il pas quand on supprime les parenthèses ?
    ie
    Code:
    return char* chaine1;
    .

    Merci d'avance.

  5. A voir en vidéo sur Futura
  6. #5
    invite4492c379

    Re : Condition pour boucle while en C et pointeurs

    Quel est ton environnement de programmation ?

    Quand je compile ton source j'ai les warnings suivant:

    Code:
    # gcc -o test -Wall -Wextra test.c
    test.c: In function ‘main’:
    test.c:17:3: warning: format ‘%hhu’ expects argument of type ‘unsigned char *’, but argument 2 has type ‘int’ [-Wformat]
    test.c:29:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘char *’ [-Wformat]
    test.c:29:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat]
    test.c:17:9: warning: ‘caractere’ is used uninitialized in this function [-Wuninitialized]
    Tu comprends ce qu'ils signifient ? N'as-tu pas les mêmes (remarque : j'ai mis les options warning au taquet) ?

  7. #6
    invitea8d03b1e

    Re : Condition pour boucle while en C et pointeurs

    Code:
    $ g++ test3.c++ -Wall -o xtest
    test3.c++: In function ‘int main()’:
    test3.c++:15: warning: format ‘%hhu’ expects type ‘unsigned char*’, but argument 2 has type ‘int’
    test3.c++:25: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘char*’
    test3.c++:15: warning: ‘caractere’ is used uninitialized in this function
    
    $ ./xtest 
    Ce programme retourne l'adresse de la premiere occurence d'un caractere dans une chaine
    Entrez la chaine de caracteres: toto mollo
    
    Entrez le caractere a rechercher: 
    Le caractere n'a pas ete trouve.
    L'exécution est zarbi: Il saute l'attente du "caractère à rechercher"...

    edit: LOL... doublont (poste)

    Les messages sont assez claires

  8. #7
    invited9b9018b

    Re : Condition pour boucle while en C et pointeurs

    Bonsoir,

    Pourquoi mettre :
    Code:
    scanf("%hhu",caractere);
    Au lieu de :
    Code:
    scanf("%c",&caractere);
    EDIT : j'avais pas vu le "&" qui manquait. Sans le "&", tu passes la valeur de la variable "caractere" à scanf qui attend un emplacement mémoire (pointeur vers ta variable)

    Autre chose, tu as comme proto de fonction :
    Code:
    char* strchrr (const char chaine1[],int c)
    Pourquoi pas :
    Code:
    char* strchrr (const char chaine1[],char c)
    (c'est une vraie question cette fois)

  9. #8
    inviteb36b3ad0

    Re : Condition pour boucle while en C et pointeurs

    Citation Envoyé par photon57 Voir le message
    Quel est ton environnement de programmation ?

    Quand je compile ton source j'ai les warnings suivant:

    Code:
    # gcc -o test -Wall -Wextra test.c
    test.c: In function ‘main’:
    test.c:17:3: warning: format ‘%hhu’ expects argument of type ‘unsigned char *’, but argument 2 has type ‘int’ [-Wformat]
    test.c:29:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘char *’ [-Wformat]
    test.c:29:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat]
    test.c:17:9: warning: ‘caractere’ is used uninitialized in this function [-Wuninitialized]
    Tu comprends ce qu'ils signifient ? N'as-tu pas les mêmes (remarque : j'ai mis les options warning au taquet) ?
    Non je n'ai aucune erreur
    Code:
    Compiling: G:\Info\TP\strchrr.c
    Linking console executable: G:\Info\TP\strchrr.exe
    Process terminated with status 0 (0 minutes, 0 seconds)
    0 errors, 0 warnings
    Je suis sous windows j'utilise Code::Blocks 10.05.

    J'ai joint une prise d'écran de ce que j'obtiens.
    Images attachées Images attachées  

  10. #9
    invitea8d03b1e

    Re : Condition pour boucle while en C et pointeurs

    Code:
    #include<stdio.h>
    
    char* strchrr (const char chaine1[],int c);
    
    int main(void)
    {
    	char chaine1[100];
    	unsigned char caractere;
    	char *ptr;
    
    	printf("Ce programme retourne l'adresse de la premiere occurence d'un caractere dans une chaine");
        printf("\nEntrez la chaine de caracteres: ");
    	scanf("%s", chaine1);
        printf("\nEntrez le caractere a rechercher: ");
        scanf("%hhu",&caractere);
    
    	ptr=strchrr(chaine1,caractere);
    
    	if (ptr == NULL)
    	{
        printf("\nLe caractere n'a pas ete trouve.\n");
    	}
    	else
    	{
    	printf("\nLe caractere a ete trouve a l'adresse %p et la position %d\n",(void*)ptr,ptr - chaine1+1);
    	}
    return 0;
    }
    
    char* strchrr (const char chaine1[],int c)
    {
        while (*chaine1)
        {
            if(*(unsigned char*)chaine1==c)
            {
            return (char*) chaine1;
            }
            chaine1++;
        }
        return NULL;
    }
    format "%p" pour pointeur...
    pour le reste... hum (?)

  11. #10
    invite4492c379

    Re : Condition pour boucle while en C et pointeurs

    Le int est donné dans le prototype dans la norme, je suppose que notre ami s'exerce à réécrire ces fonctions

    7.21.5.2 The strchr function
    #include <string.h>
    char *strchr(const char *s, int c);

    The strchr function locates the first occurrence of c (converted to a char) in the
    string pointed to by s. The terminating null character is considered to be part of the
    string.
    The strchr function returns a pointer to the located character, or a null pointer if the
    character does not occur in the string.

  12. #11
    invited9b9018b

    Re : Condition pour boucle while en C et pointeurs

    Tu gagnerais à faire afficher davantage de warnings à ton compilo. En ce qui concerne ton problème actuel, tu as maintenant suffisamment de réponses je pense pour le corriger...

  13. #12
    invitea8d03b1e

    Re : Condition pour boucle while en C et pointeurs

    Code:
           #include <string.h>
    
           char *strchr(const char *s, int c);
    
           char *strrchr(const char *s, int c);
    
           #define _GNU_SOURCE
           #include <string.h>
    
           char *strchrnul(const char *s, int c);
    'int' pour le 'character' à rechercher...

    man strchr

    :: oups.... doublon ...non non j'ai rien réécrit... juste man strchr sur linux ...
    g++ existe aussi sur Windoze... ~same as GCC

  14. #13
    inviteb36b3ad0

    Re : Condition pour boucle while en C et pointeurs

    Citation Envoyé par lucas.gautheron Voir le message
    Bonsoir,

    Pourquoi mettre :
    Code:
    scanf("%hhu",caractere);
    Au lieu de :
    Code:
    scanf("%c",&caractere);
    Effectivement j'avais oublié le "&" mais quand je mettais %c à la place de %hhu le programme s’arrêtait au
    Code:
    scanf("%c",&caractere);
    Même en utilisant char au lieu de unsigned char et getchar() au lieu de scanf.

    Le problème n'était pas que le & manquant j'obtiens toujours le même résultat.

  15. #14
    invited9b9018b

    Re : Condition pour boucle while en C et pointeurs

    Citation Envoyé par photon57 Voir le message
    Le int est donné dans le prototype dans la norme
    ah ok, je comprends mieux

  16. #15
    invite4492c379

    Re : Condition pour boucle while en C et pointeurs

    Citation Envoyé par megaflop Voir le message
    Non je n'ai aucune erreur
    Code:
    Compiling: G:\Info\TP\strchrr.c
    Linking console executable: G:\Info\TP\strchrr.exe
    Process terminated with status 0 (0 minutes, 0 seconds)
    0 errors, 0 warnings
    Je suis sous windows j'utilise Code::Blocks 10.05.

    J'ai joint une prise d'écran de ce que j'obtiens.
    Il est possible dans les propriétés de CB de changer le niveau des warnings : je t'encourage vivement à le faire et à lire ces warnings

    Les remarques de lucas devraient te mettre sur la voie. Le petit texte de la norme aussi ... «The strchr function locates the first occurrence of c (converted to a char) ...».

    Quel est ton compilo ?

  17. #16
    inviteb36b3ad0

    Re : Condition pour boucle while en C et pointeurs

    Citation Envoyé par photon57 Voir le message
    Le int est donné dans le prototype dans la norme, je suppose que notre ami s'exerce à réécrire ces fonctions
    Effectivement j'avais mis char à la place de int au début mais comme ça ne marchait pas j'ai fait comme dans la norme.
    Mais là je ne vois pas toujours pas où est le problème.

  18. #17
    inviteb36b3ad0

    Re : Condition pour boucle while en C et pointeurs

    Citation Envoyé par photon57 Voir le message
    Il est possible dans les propriétés de CB de changer le niveau des warnings : je t'encourage vivement à le faire et à lire ces warnings

    Les remarques de lucas devraient te mettre sur la voie. Le petit texte de la norme aussi ... «The strchr function locates the first occurrence of c (converted to a char) ...».

    Quel est ton compilo ?
    Le compilo que j'utilise est GNU GCC.

  19. #18
    invitea8d03b1e

    Smile Re : Condition pour boucle while en C et pointeurs

    J'ajoute,

    Que le caractère de [retour de chariot "RETURN"] doit aussi être attendu en I/O.
    - il me semble -

  20. #19
    inviteb36b3ad0

    Re : Condition pour boucle while en C et pointeurs

    Est-ce que quelqu'un peut donner un peu plus de précisions ? Car je ne vois vraiment pas.

  21. #20
    invitea8d03b1e

    Re : Condition pour boucle while en C et pointeurs

    voit pas quoi?

  22. #21
    inviteb36b3ad0

    Re : Condition pour boucle while en C et pointeurs

    Pourquoi le programme ne fonctionne pas ?
    La fonction est correcte il y a quelque chose qui cloche dans le main :s

    Au risque de paraître un peu con, on fait comment pour déclarer et lire un caractère ?

  23. #22
    invite4492c379

    Re : Condition pour boucle while en C et pointeurs

    Je reprends ton code :

    Code:
    char* strchrr (const char chaine1[],int c)
    {
        while (*chaine1)
        {
            if(*(unsigned char*)chaine1==c)
            {
            return (char*) chaine1;
            }
            chaine1++;
        }
        return NULL;
    }
    On va prendre le même prototype que la norme :
    Code:
    char* strchr(const char* chaine1, int c)
    {
    Ton itération qui suit est bonne, tant qu'on a pas atteint la fin de chaine on teste et on passe au caractère suivant si on a pas trouvé le bon et si on l'a trouvé on passe un pointeur sur ce caractère
    Code:
      while (*chaine1) {
        if (*chaine1 == (char)c)
          return (char *)chaine1;
        else
          chaine1++;
      }
      return NULL;
    }

  24. #23
    invite4492c379

    Re : Condition pour boucle while en C et pointeurs

    Citation Envoyé par megaflop Voir le message
    Pourquoi le programme ne fonctionne pas ?
    La fonction est correcte il y a quelque chose qui cloche dans le main :s

    Au risque de paraître un peu con, on fait comment pour déclarer et lire un caractère ?
    Tu veux dire, mis à part lire la doc et suivre quelques tutoriels ?

    Pour lire un caractère :
    Code:
    char caractere;
    
    ....
    
    scanf("%c", &caractere);
    printf("Caractère lu: %c\n", caractere);
    en première approche. Attention (à garder en tête ... car ça va être un peu abstrait pour toi en ce moment) tout ce qui apparaît comme 1 caractère à l'écran peut ne pas rentrer dans un char en C ... donc pour tes tests pas de caractères accentués, par exemple.

  25. #24
    invitea8d03b1e

    Re : Condition pour boucle while en C et pointeurs

    Le problème n'était pas là...

    j'ai un peu "repris" ton code

    Code:
    #include <stdio.h>
    
    char* strchrrQ(const char chaine1_[],const char c)
    {
        char* cc = (char*)chaine1_;
        while (*cc)
        {
            if((*cc)==c)
            {
              return cc;
            }
            cc++;
        }
        return NULL;
    }
    
    int main(void)
    {
    	char chaine1[100];
    	char caractere;
    	char retour_de_chariot;
    	char *ptr;
    
    	printf("Ce programme retourne l'adresse de la premiere occurence d'un caractere dans une chaine");
        printf("\nEntrez la chaine de caracteres: ");
    	scanf("%s", chaine1);
    	printf("\nma chaine: <%s>",chaine1);
    	  scanf("%c",&retour_de_chariot);
        printf("\nEntrez le caractere a rechercher: ");
        scanf("%c",&caractere);
        scanf("%c",&retour_de_chariot);
    
    	ptr=strchrrQ(chaine1,caractere);
    
    	if (ptr == NULL)
    	{
        printf("\nLe caractere n'a pas ete trouve.\n");
    	}
    	else
    	{
    	printf("\nLe caractere a ete trouve a l'adresse %p et la position %d\n",(void*)ptr,ptr - chaine1+1);
    	}
    return 0;
    }
    En fait c'est le [ scanf("%s", chaine1);] qui "n'avale" pas le "caractère de retour de chariot", donc il est repris lors du [scanf("%c",&caractere);] ...

    Donc tu doit aussi lire ce caractère de CTRL avant de le pochain "get"... (scanf dans ton cas)



    edit: Zut ... j'ai toujours un "train de retard"
    De plus je "raisonne" en C++, mais le gcc fait l'amalgame...
    ...ça pourrait aussi prèter à "confuse" ...

  26. #25
    inviteb36b3ad0

    Re : Condition pour boucle while en C et pointeurs

    Mais alors pourquoi est-ce que ça ne fonctionne pas quand j'utilise :
    Code:
    char caractere;
    
    ....
    
    scanf("%c", &caractere);
    L’exécution s’arrête au moment de la saisie du caractère (voir pièce jointe).
    Images attachées Images attachées  

  27. #26
    invitea8d03b1e

    Re : Condition pour boucle while en C et pointeurs

    Je l'ai expliqué plus HAUT...

    Le [RETOUR DE CHARIOT] EST un caractère à considérer en C/C++...
    En Java aussi, c'est une question de contexte d'I/O...
    En ADA (GNAT) c'est (presque) différent ...courage...


    Citation Envoyé par megaflop Voir le message
    Mais alors pourquoi est-ce que ça ne fonctionne pas quand j'utilise :
    Code:
    char caractere;
    
    ....
    
    scanf("%c", &caractere);
    L’exécution s’arrête au moment de la saisie du caractère (voir pièce jointe).

  28. #27
    inviteb36b3ad0

    Re : Condition pour boucle while en C et pointeurs

    Citation Envoyé par hkfufu43112609 Voir le message
    En fait c'est le [ scanf("%s", chaine1);] qui "n'avale" pas le "caractère de retour de chariot", donc il est repris lors du [scanf("%c",&caractere);] ...

    Donc tu doit aussi lire ce caractère de CTRL avant de le pochain "get"... (scanf dans ton cas)

    Et comment pourrait-on le faire ?

  29. #28
    invitea8d03b1e

    Re : Condition pour boucle while en C et pointeurs

    Citation Envoyé par megaflop Voir le message
    Et comment pourrait-on le faire ?
    Ben comme j'ai réécrit une "variante" de ton code...

    Tu ne peux pas dissocier la lecture d'une chaine de la lecture du caractère de fin de ligne:

    Code:
            scanf("%s", chaine1);
    	printf("\nma chaine: <%s>",chaine1); // irrelevant ici...
    	scanf("%c",&retour_de_chariot);
    donc j'ai ajouté une lecture "inutilisée" d'un caractère.

    C'est le problème avec les langage à effets de bords inhérents, comme C, C++, Java, ADA (pour les IO), etc... Contrairement aux techniques des langages déclaratifs PURES... Mais c'est une autres histoires... (Foncteurs, LazzyListes, Lazzy/IO, Monades...) oublie...

    edit: Attn, j'ai modifier l'extrait !!!! (ligne irrelevante pour servir mon propos)

  30. #29
    inviteb36b3ad0

    Re : Condition pour boucle while en C et pointeurs

    Citation Envoyé par hkfufu43112609 Voir le message
    Ben comme j'ai réécrit une "variante" de ton code...

    Tu ne peux pas dissocier la lecture d'une chaine de la lecture du caractère de fin de ligne:

    Code:
            scanf("%s", chaine1);
    	printf("\nma chaine: <%s>",chaine1); // irrelevant ici...
    	  scanf("%c",&retour_de_chariot);
    donc j'ai ajouté une lecture "inutilisée" d'un caractère.

    C'est le problème avec les langage à effets de bords inhérents, comme C, C++, Java, ADA (pour les IO), etc... Contrairement aux techniques des langages déclaratifs PURES... Mais c'est une autres histoires... (Foncteurs, LazzyListes, Lazzy/IO, Monades...) oublie...

    edit: Attn, j'ai modifier l'extrait !!!! (ligne irrelevante pour servir mon propos)
    Merci beaucoup !

  31. #30
    invitea8d03b1e

    Re : Condition pour boucle while en C et pointeurs

    C'est un plaisir


    Pour "résumer"...

    Code:
    #include <stdio.h>
    
    char* strchrrQ(const char chaine1_[],const char c) // je nomme autrement, afin d'éviter la "confuse" avec les librairies importée (#include)
    {
        char* cc = (char*)chaine1_; // j'évite de modifier un paramètre que je déclare comme "const"... (perso)
        while (*cc)
        {
            if((*cc)==c)
            {
              return cc;
            }
            cc++;
        }
        return NULL;
    }
    
    int main(void)
    {
            // Tout en char ;)  ...Pour "ma" version...
    	char chaine1[100];
    	char caractere;
    	char retour_de_chariot;
    	char *ptr;
    
    	printf("Ce programme retourne l'adresse de la premiere occurence d'un caractere dans une chaine");
        printf("\nEntrez la chaine de caracteres: ");
    	scanf("%s%c",chaine1,&retour_de_chariot);
    	printf("\nma chaine: <%s>",chaine1);
    	  // scanf("%c",&retour_de_chariot);
        printf("\nEntrez le caractere a rechercher: ");
        scanf("%c",&caractere);
        scanf("%c",&retour_de_chariot);
    
    	ptr=strchrrQ(chaine1,caractere);
    
    	if (ptr == NULL)
    	{
        printf("\nLe caractere n'a pas ete trouve.\n");
    	}
    	else
    	{
    	printf("\nLe caractere a ete trouve a l'adresse %p et la position %d\n",(void*)ptr,ptr - chaine1+1);
    	}
    return 0;
    }
    Integre directement la lecture du caractère de [EOL aka EndOfLine, retour_de_chariot] dans le même "scanf"...
    Perso j'utilise les <iostream> et les cout/cin de C++ , j'ai moins l'habitude de C ANSI. Sorry pour les puristes

Discussions similaires

  1. condition pour aller en L1 bio
    Par invite93f6838d dans le forum Orientation après le BAC
    Réponses: 3
    Dernier message: 17/03/2011, 04h11
  2. [PIC C18] pointeurs de pins pour pwm
    Par invite4abe8aa8 dans le forum Électronique
    Réponses: 14
    Dernier message: 04/09/2010, 13h06
  3. Condition pour 2 réactions simultanées
    Par invite171486f9 dans le forum Chimie
    Réponses: 11
    Dernier message: 16/06/2009, 18h57
  4. condition pour etre médecin
    Par invite8edb053c dans le forum Orientation après le BAC
    Réponses: 2
    Dernier message: 22/09/2008, 15h28
  5. cofiguration pour counter strike condition zéro
    Par invitee36286b9 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 03/02/2004, 18h18