Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 32

chaine de caract. en C



  1. #1
    sdow

    chaine de caract. en C


    ------

    salut

    je voudrais incerser un chaine de carac. mais mon probleme est : quan je veux compter le nombre de car.
    de szMots il ne le fait pas ???.

    void InvChaine(char *szBuffer)
    {
    int i=0,j=0, k=0;
    char szMots[41];

    i=strlen(szBuffer);
    while(szBuffer[i] !=' ')
    {
    szMots[j++] = szBuffer[i--];
    }
    szMots[j++]= '\0';
    k= strlen(szMots); // ICI ne marche pas ??
    EcritCar(17,1,palette[2],k);
    }

    -----

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    fderwelt

    Re : chaine de caract. en C

    Bonjour,

    Il me semble que c'est ton
    Code:
    while (szBuffer[i] != ' ')
    qui ne va pas. Tu dois arrêter ta boucle quand i atteint 0, indépendamment de ce qu'il y a dans szBuffer à cet endroit-là. Par ailleurs tu démarres avec
    Code:
    i = strlen (szBuffer)
    or dans ce cas szBuffer[i] n'est autre que le caractère '\0' de fin de chaîne (c'est à mon avis pour ça que ta boucle ne tourne pas indéfiniment, en fait elle ne tourne qu'une seule fois, ou même pas du tout).
    J'écrirais plutôt quelque chose du genre:
    Code:
    j = 0 ;
    i = strlen (szBuffer) ;
    while (i != 0) { szMots[j++] = szBuffer[--i] ; }
    k = strlen (szMots) ;
    Et attention au --i (au lieu de i--) dans la boucle!

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  5. #3
    sdow

    Re : chaine de caract. en C

    non ma boucle fonction correctement

    c'est : k=strlen(szMots); qui ne fonction pas

    k est toujours a 0

  6. #4
    fderwelt

    Re : chaine de caract. en C

    Bien sûr que k est toujours à 0! La boucle telle qu'elle est ne doit pas être exécutée du tout... Tu devrais imprimer i et j à chaque itération, tu en aurais le coeur net. Parce que strlen, c'est vraiment blindé depuis le temps que ça existe.

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  7. A voir en vidéo sur Futura
  8. #5
    sdow

    Re : chaine de caract. en C

    ok

    est ce que tu peut m'aider a inverser un chaine :

    ex: salut le monde
    inv: monde le salut

    int i=0,j=0, k=0,p=0;
    char szMots[41];
    char szInv[41];

    i=strlen(szBuffer);


    while(szBuffer[i] !=' ')
    {
    szMots[j++] = szBuffer[i--];
    }
    szMots[j++]= '\0';
    szInv[p++]=szMots[j--] ;
    k = strlen(szMots);
    strcpy(szBuffer,szInv);

  9. #6
    freepicbasic

    Re : chaine de caract. en C

    Code:
    // entrée
    // SzBuffer = " MOT"
    // locals
    // szMots   = "TOM"
    // szInv    = "MOT"
    //Sortie
    // SzBuffer = "MOT"
    
    int i=0,j=0, k=0,p=0;
    char szMots[41];
    char szInv[41];
    
    i=strlen(szBuffer);
    if (i>0) i--;
    
    while(szBuffer[i] !=' ')
    {
    szMots[j++] = szBuffer[i--];
    if i<0 then return; // ERREUR !
    }
    szMots[j++]= '\0';
    while(j>=0)
    	szInv[p++]=szMots[j--] ;
    k = strlen(szMots);
    strcpy(szBuffer,szInv);
    A+, pat

  10. Publicité
  11. #7
    fderwelt

    Re : chaine de caract. en C

    Citation Envoyé par sdow Voir le message
    est ce que tu peut m'aider a inverser un chaine :

    ex: salut le monde
    inv: monde le salut
    Pas bien saisi... En fait tu veux inverser l'ordre des mots d'une chaîne, pas des caractères? Parce que c'est très différent, j'aimerais être sûr d'avoir bien compris.

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  12. #8
    sdow

    Re : chaine de caract. en C

    sorry

    je veux inverser l'ordre des mots d'une chaîne

  13. #9
    sdow

    Re : chaine de caract. en C

    le code de freepicbasic ne marche pas bien

  14. #10
    freepicbasic

    Re : chaine de caract. en C

    Testé OK sur TC2 !

    Code:
    
    #include "stdio.h"
    
    void InvChar(char *szBuffer )
    {
    /* entrée
    // SzBuffer = " MOT"
    // locals
    // szMots   = "TOM"
    // szInv    = "MOT"
    //Sortie
    // SzBuffer = "MOT"
    */
    
    
    int i=0,j=0, k=0,p=0;
    char szMots[41];
    char szInv[41];
    
    i=strlen(szBuffer);
    if (i>0) i--;
    
    while(szBuffer[i] !=' ')
    {
    szMots[j++] = szBuffer[i--];
    if (i<0)  return; /* ERREUR ! */
    }
    szMots[j]= '\0';
    
    p=0;
    j--;
    while(j>=0)
    	szInv[p++]=szMots[j--] ;
    szInv[p++]='\0' ;
    
    strcpy(szBuffer,szInv);
    }
    
    
    main()
    {
    char Buffer[30];
    
    
    strcpy(Buffer," MOT") ;
    
    InvChar( Buffer);
    printf ("%s\r\n",Buffer);
    }
    
    
    A+, pat

  15. #11
    fderwelt

    Re : chaine de caract. en C

    Bonsoir,

    Un détail pour freepicbasic: il y a un truc que je ne saisis pas vraiment dans ton code et celui de sdow: la condition d'arrêt
    Code:
    while (szBuffer[i] != ' ')
    Jusqu'à nouvel ordre, une chaîne n'est pas supposée commencer par un espace! Ou la norme a changé?

    Cela dit, il faudrait que sdow regarde sa doc au niveau des fonctions strtok, strrtok et autres, qui sont méconnues mais standard sous Unix, mais peut-être pas partout. Ça lui faciliterait grandement le travail, vu que c'est exactement prévu pour ça... Quoiqu'il en soit, je m'attelle à un truc qui marche, mais je n'aurai peut-être pas fini ce soir même.

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  16. #12
    freepicbasic

    Re : chaine de caract. en C

    je n'ai fait que faire fonctionner un code boggué.
    Pour les tenants et aboutissants voir Sdow.

    Pourquoi aller chercher le dernier mot de la chaine et le remplacer dans la chaine, je ne sais pas ...
    Sans doute , il y a une raison .

    Si le but rechercher est ça , on aurait pu faire plus simple ...
    A+, pat

  17. Publicité
  18. #13
    fderwelt

    Re : chaine de caract. en C

    Bon, j'ai pondu ça. Pas testé, et à cette heure-là je ne vais pas me lancer dans une compil'... mais à quelques détails ça doit être bon.
    Code:
    void StrInv (char *szBuf, char *szInv)
    {
        // ici szInv doit faire (au moins) la même taille que szBuf
        int n ;
        n = strlen (szBuf) - 1 ;
        do
        {
            // on recherche la fin du dernier mot
            while (n >=0 && szBuf[n] == ' ') n-- ;
            if (n < 0) break ;
            szBuf[n+1] = '\0' ;
            // on recherche le début du mot
            while (n > 0 && szBuf[n] != ' ') n-- ;
            // on recopie
            strcat (szInv, SzBuf+i+1) ;
        }
        while (n >= 0) ;
    }
    Je ne garantis pas que c'est bon, mais l'idée y est. #0192; demain.

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  19. #14
    freepicbasic

    Re : chaine de caract. en C

    Avec l' algorithme déjà donné , en plus simple;
    Testé Ok sur TC2 !

    Code:
    #include "stdio.h"
    
    void InvChar(char *szBuffer )
    {
    /* entrée
    // SzBuffer = " MOT"
    // locals
    // szMots   = "TOM"
    // szInv    = "MOT"
    //Sortie
    // SzBuffer = "MOT"
    */
    
    
    int i;
     for (i=strlen(szBuffer)-1 ; i>=0 ; i--)
    	if (szBuffer[i] ==' ') {
    		strcpy(szBuffer,szBuffer+i+1);
    		break;
    		}
    }
    
    
    main()
    {
    char Buffer[30];
    
    
    clrscr();
    strcpy(Buffer," MOT") ;
    
    InvChar( Buffer);
    printf ("%s\r\n",Buffer);
    }
    A+, pat

  20. #15
    Gre

    Thumbs down Re : chaine de caract. en C

    Vous pourriez l'amener à trouver une solution plutôt que de lui donner une réponse machée -_-

    Il ne va pas apprendre avec ça.

    De plus, je suis désolé de te dire ça freepicbasic, mais ton code est une horreur... les indentations sont quasi aléatoire, il n'y a pas de commentaires, tu utilises un break question de briser la programmation structuré...
    tu utilises un clrscr() ce qui n'est pas ANSI (et ne marche pas sur UNIX) tu mets stdio.h entre guillemet et non entre <>, tu ne respectes pas la norme actuelle qui impose un int en retour de la fonction main. !!

    Les variables avec des majuscules ce n'est pas génial non plus... mais c'est un autre problème.

    Ce n'est pas le genre d'exemple qui va amener qqun à bien programmer.
    War does not decide who's right, but who's left. (Bertrand Russell)

  21. #16
    invite79115743

    Re : chaine de caract. en C

    Clair je n'appelerai même pas ça du C tellement ca ne respecte aucune norme (ca ne compile pas chez moi, sans surprise). Les commentaires présents au début du code n'ont par ailleurs absolument aucun sens.

    Sans parler des conventions du langage, l'algorithme fourni en lui-même n'est même pas valide : la fonction InvChar ne fait que remplacer la chaine en entrée par la chaine située après le dernier espace.

    Je comprend pas qu'on puisse poster ce genre de code pour aider quelqu'un sans avoir pris la peine de vérifier sa syntaxe et sa validité.
    Ce code est pire que rien.
    Some of those tha wear forces, are the same that burn crosses.

  22. #17
    freepicbasic

    Re : chaine de caract. en C

    Voila ta façon d'encourager et d'aider !

    Belle question de cours n'est ce pas... ?
    As tu demandé de l'aide à ton prof ?
    As tu commencé quelque chose ?
    Où en es tu ?
    J'ai regarder tes réponses sur le forum que des réflexions désobligeantes, sur la 1 ere page proposée , pas une seule ligne de code.
    Je pense pas qu'on progresse de cette façon...
    A+, pat

  23. #18
    fderwelt

    Re : chaine de caract. en C

    Bonjour,

    Maintenant que je suis réveillé j'explique ce que j'ai essayé de faire, charge à sdow de comprendre si c'est correct et de le recoder lui-même.

    On part d'une chaîne szBuf qui contient le texte dont on veut inverser l'ordre des mots, et d'une chaîne résultat szInv initialement vide.
    En partant de la fin de szBuf et en allant vers le début, on "saute" tous les espaces. On remplace le denier espace trouvé par un marqueur '\0' de fin de chaîne.
    Puis toujours en remontant vers le début de szBuf on recherche le premier espace; le caractère suivant (le dernier non-espace trouvé) est le premier caractère du dernier mot de szBuf. Un strcat sur szInv l'insère dans le résultat (ça marche parce qu'on a marqué la fin du mot avec un '\0').
    On recommence tout ça tant qu'il reste des mots dans szBuf, c'est-à-dire tant qu'on n'a pas atteint le début de szBuf.

    En pratique il faut être un peu plus prudent pour vérifier qu'on ne sort pas de szBuf "par le bas", d'où les tests while (i > 0 && ...). Faire un dessin, tout devient clair!

    Sinon, au passage, je déteste la "notation hongroise", moi j'écris Buf et Inv au lieu de szBuf et szInv, mais si ça aide à la compréhension pourquoi pas...

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  24. Publicité
  25. #19
    freepicbasic

    Re : chaine de caract. en C

    Clair je n'appelerai même pas ça du C tellement ca ne respecte aucune norme (ca ne compile pas chez moi, sans surprise). Les commentaires présents au début du code n'ont par ailleurs absolument aucun sens.

    Sans parler des conventions du langage, l'algorithme fourni en lui-même n'est même pas valide : la fonction InvChar ne fait que remplacer la chaine en entrée par la chaine située après le dernier espace.

    Je comprend pas qu'on puisse poster ce genre de code pour aider quelqu'un sans avoir pris la peine de vérifier sa syntaxe et sa validité.
    Ce code est pire que rien.
    Le code a été testé sur TC2 et fonctionne.
    Je n'ai pas prétendu faire du code universel !
    Je reconnais que le premier à été fait un peu vite et ne fonctionnait pas , j'ai donc testé le suivant en réel.

    Il fallait lire les post depuis le début pour comprendre le nom "invChar" qui n'est pas de moi,
    d'ailleur je ne suis pas sur d'avoir compris la finalité de son prog et je n'ai fait que deboggué un code qui ne fonctionnait pas.
    Quant à la façon d'écrire , il fort probable qu'elle ne correspond pas votre façon, et votre propos semble être totalement intolérent , comme on dit "il y a 2 écoles"...
    Ce code est pire que rien.
    Pour le moment votre intervention , à part des remarques stériles est totalement inutile !

    Un code qui selon vous aurait été convenable aurait été vraiment plus productif , plutot que que des critiques malfaisantes.
    A+, pat

  26. #20
    invite79115743

    Thumbs down Re : chaine de caract. en C

    sur la 1 ere page proposée , pas une seule ligne de code.
    Je pense pas qu'on progresse de cette façon...
    En proposant ton code, on ne progresse pas, on régresse.

    d'ailleur je ne suis pas sur d'avoir compris la finalité de son prog
    C'est pourtant clair, il veut inverser l'ordre des mots dans une chaine de caractères. Ce n'est pas du tout ce que fait ton code (inutile de le compiler pour s'en rendre compte de toute facon, strcpy n'est executée qu'une seule fois dans InvChar)

    Quant à la façon d'écrire , il fort probable qu'elle ne correspond pas votre façon, et votre propos semble être totalement intolérent , comme on dit "il y a 2 écoles"...
    Je ne connais aucune école qui préconise d'aller à l'encontre des spécifications du langage, et de mal indenter son code. Ce n'est pas de l'intolérance de dire que ton code est horrible, c'est la réalité. Quand on programme dans un langage, le b-a-ba c'est de respecter les normes imposées par le langage, surtout quand on s'adresse à quelqu'un qui débute.
    C'est en toute objectivité qu'on peut affirmer que ton programme est mauvais autant syntaxiquement que sémantiquement.

    Je propose le mien, qui est toujours criticable, mais qui est bien plus clair et au moins fonctionnel :
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    void invwords(char *src, char *dest) 
    {
    
        int i,j,s;
    
        s = strlen(src);
        j = 0;
        for ( i = s-1 ; i >= 0 ; --i ) 
        {
            
    	j++;
            if ( i == 0 ) 
    	{
                strncat(dest, src+i, j+1);
    	    j = 0;
    	}
    	else if ( src[i] == ' ' ) 
    	{
    	    strncat(dest, src+i+1, j);
    
    	    // on ajoute un espace si nous sommes au dernier mot de src
    	    if ( i+j == s ) strcat(dest, " ");
                j = 0;
            }        
    
        }
    }
    
    int main()
    {
        char inputstr[] = "We are all mad here";
        char *outputstr;
    
        outputstr = (char *)malloc(strlen(inputstr)+1);
    
        invwords(inputstr, outputstr);
        printf("Avant: %s\nApres: %s\n", inputstr, outputstr);
    
        free(outputstr);
    
        return 0;
    }
    Code:
    saudade ~ $ ./inv
    Avant: We are all mad here
    Apres: here mad all are We
    Some of those tha wear forces, are the same that burn crosses.

  27. #21
    freepicbasic

    Re : chaine de caract. en C

    En proposant ton code, on ne progresse pas, on régresse.
    Encore une appréciation déplacée !
    Ce que je ne ferais pas.


    il veut inverser l'ordre des mots dans une chaine de caractères.
    ça c'est ce que tu dit,
    mais je ne suis pas sur que ce soit ce qu'il veuille.
    Il aurait fallu avant tout expliquer ce qu'il veut faire.
    Mais tu as peut être raison ...



    D'ailleurs tu refais un programme différent (BOGUé en plus !) sans reprendre
    le sien pour éventuellement montrer ses erreurs.


    Warnings
    Le // ne fonctionne pas sur les anciens compilateurs.
    Ce n'est pas une norme K&R mais ajouté lors de la création du C++.

    Tu utilise le malloc qui est une fonction à éviter au maximum si l'on peut faire autrement.

    Fatal
    Tu fait un strcat ou strncat sur un pointeur dest.
    Qui est bien alloué certe, MAIS PAS INITIALISER !
    strcpy(dest,"");
    ou
    *dest='\0';
    ça plante !
    A+, pat

  28. #22
    invite79115743

    Re : chaine de caract. en C

    je veux inverser l'ordre des mots d'une chaîne
    Ca peut pas être plus clair pourtant!

    Le // ne fonctionne pas sur les anciens compilateurs.
    Ce n'est pas une norme K&R mais ajouté lors de la création du C++.
    La dernière norme en date de l'ISO pour le C est le C99, qui supporte très clairement les commentaires monolignes inspirés de C++.
    Il est surement possible que ca ne compile pas sur les vieux compilateurs, mais je me plie aux normes en vigueur, ce n'est pas de mon fait (gcc ne m'affiche pas un seul warning avec -Wall).

    En effet il aurais fallu utiliser un calloc() au lieu d'un malloc() ce qui peut sinon entrainer un segfault (ce n'est pas le cas chez moi, mais possible ailleurs si le premier char alloué n'est pas '\0').

    Tu utilise le malloc qui est une fonction à éviter au maximum si l'on peut faire autrement.
    C'est vrai que dans un code de 50 lignes, avec un malloc et un free séparés de 3 lignes, j'ai de grandes chances de causer un memory leak!

    Encore une appréciation déplacée !
    Ce que je ne ferais pas.
    Tu as menti, tu n'as fait que ca.
    Dernière modification par DarKPhoeniX ; 16/04/2007 à 18h51.
    Some of those tha wear forces, are the same that burn crosses.

  29. #23
    freepicbasic

    Re : chaine de caract. en C

    Ca peut pas être plus clair pourtant!
    Sans doute , mais ce n'est pas ce que faisait son prog.
    Personnellement je préfère debogué son programme afin qu'il s'aperçoive de ses erreurs plutot que d'imposer d'emblé une manière de faire.
    Peut être bien plus déroutante pour lui...


    Pour le calloc() OK. C'est ce qu'il fallait faire. Effectivement, ou la solution que j'ai donné plus sobre en temps de traitement.

    Peut être que gcc le fait pour le malloc, j'en doute fortement
    un source Unix
    http://unix-tree.huihoo.org/V6/usr/s.../malloc.c.html
    Le fait que ta machine n'ai pas planté est surement dù a un pur hasard.
    Ou le fait que le prog était trop court.
    Dans un grand prog une tel erreur génére des problème aléatoire.
    (LOL genre Airbus qui se crache LOL)

    C'est vrai que dans un code de 50 lignes, avec un malloc et un free séparés de 3 lignes, j'ai de grandes chances de causer un memory leak!
    Ok pour le commentaire excellent mais ironique ,
    avec un terme d'initié pour coulé les béotiens,
    mais une explication aurait été préférable.

    Tu as menti, tu n'as fait que ca.
    Quant on a affaire à quelqu'un qu'on ne connais pas surtout en clientèle.
    On regarde à 2 fois pour savoir si la question posée est le fond de la pensée de la personne,
    si on nous propose un code avec une explication totalement décalée , qu'est ce qui est juste le code ou l'explication.
    En général une personne désirant un projet n'est pas capable de faire un cahier des charges , après discussion le projet devient très différent de la proposition du départ.

    Donc si on met 10 lignes de codes en disant , elles ne fonctionne pas , on les fait fonctionner après on voit si le résultat correspond bien à notre attente , alors on modifie et ainsi de suite.
    Le mythe du "tout bon du premier coup" me semble hyper suspect.
    A+, pat

  30. #24
    Gérard

    Re : chaine de caract. en C

    Pat, laisse tomber, avant qu'il aie ton âge, il tombera encore souvent de haut.
    Il se cassera les dents tout seul, laisse faire le temps.

  31. Publicité
  32. #25
    invite79115743

    Re : chaine de caract. en C

    Le fait que ta machine n'ai pas planté est surement dù a un pur hasard.
    Effectivement, je ne pense pas que la glibc initialise quoi que ce soit avec malloc, ca serait contraire aux indications des pages de manuels. Cependant force est de constater que les premiers octets sont toujours nuls, étrange..

    Je n'ai pas du tout saisi ce que tu as voulu dire dans les deux derniers paragraphes de ton dernier message.

    Pat, laisse tomber, avant qu'il aie ton âge, il tombera encore souvent de haut.
    Il se cassera les dents tout seul, laisse faire le temps.
    Le vieux sage a parlé.
    Some of those tha wear forces, are the same that burn crosses.

  33. #26
    Gérard

    Re : chaine de caract. en C

    Citation Envoyé par DarKPhoeniX Voir le message



    ........

    Le vieux sage a parlé.
    Avant que 20 ans ne soient passés tu auras compris (je l'espère pour toi).

  34. #27
    invite79115743

    Re : chaine de caract. en C

    Avant que 20 ans ne soient passés tu auras compris (je l'espère pour toi).
    Garde tes conseils à deux balles pour tes petits enfants, t'es complètement HS.
    Some of those tha wear forces, are the same that burn crosses.

  35. #28
    sdow

    Re : chaine de caract. en C

    Voila le code que j'ai fait*: il est très compréhensible et facile. sauf les commentaires.

    void InvChaine(char *szBuffer)
    {
    int i=0,j=0, k=0,p=0,r=0;
    char szMots[41];
    char szInv[41] ;

    szMots[0]='\0';
    szInv[0]='\0';

    i=(strlen(szBuffer))-1;

    while(i >= 0 && i<=40)
    {

    while(szBuffer[i] !=' ' && (i>=0 && i<=40 ))
    {
    szMots[j] = szBuffer[i];
    j++;
    i--;
    }
    szMots[j]= '\0';
    k = strlen(szMots);
    k=k-1;
    r=k;
    i=i-1;
    while(k>=0 && k<=r)
    {
    szInv[p++]=szMots[k--] ;
    }
    szInv[p++]= ' ';
    j=0;
    szMots[0]='\0';
    }
    szInv[p]='\0';
    strcpy(szBuffer,szInv); // on copy dans le buffer principale

    }

  36. #29
    umfred

    Re : chaine de caract. en C

    quelques remarques:

    void InvChaine(char *szBuffer)
    {
    int i=0,j=0, k=0,p=0,r=0;
    char szMots[41];
    char szInv[41] ;

    szMots[0]='\0';
    szInv[0]='\0';

    i=(strlen(szBuffer))-1;

    while(i >= 0 && i<=40)
    {

    while(szBuffer[i] !=' ' && (i>=0 && i<=40 ))
    {
    szMots[j] = szBuffer[i]; // on copie le mot dans szMot
    j++;
    i--;
    }

    /*---------------
    szMots[j]= '\0';
    k = strlen(szMots); // ces lignes me semblent superflues car (j-1) correspond ici à la longueur de la chaine szMots (pas besoin de la recalculer)
    k=k-1;
    r=k;
    ------------------*/

    i=i-1;
    /*------------------
    while(k>=0 && k<=r)
    {
    szInv[p++]=szMots[k--] ; //ici on copie le mot à l'envers dans la chaine szInv, ce qui ne semble pas être dans la demande initiale
    }
    ------------------*/
    // j'aurai plutôt fait une boucle for ici:
    for (k=0;k<j;k++) //
    {
    szInv(p++)=szMots(k); // on copie à partir de la position courante dans la chaine szInv le mot trouvé
    }

    szInv[p++]= ' ';
    j=0;
    szMots[0]='\0'; à mon avis, encore une ligne superflue
    }
    szInv[p]='\0';
    strcpy(szBuffer,szInv); // on copy dans le buffer principale

    }

  37. #30
    Gre

    Re : chaine de caract. en C

    Citation Envoyé par freepicbasic Voir le message
    Voila ta façon d'encourager et d'aider !


    J'ai regarder tes réponses sur le forum que des réflexions désobligeantes, sur la 1 ere page proposée , pas une seule ligne de code.
    Je pense pas qu'on progresse de cette façon...
    Parce que je suis tanné en tant que prof de voir que des gens donnent des solutions à mes étudiants sans faire d'effort pour comprendre qu'ils sont à l'université pour apprendre.

    Effectivement je commence par poser des questions et savoir ce qu'ils ont fait.

    Maintenant arrêtes de dire des bêtises et si tu cherchais mieux tu verrais que je donne des bribes de codes. Cependant la plupart de ces personnes n'ont pas besoin de code mais d'apprendre à fournir un travail et à construire à partir de celui-ci.

    Mais tu n'aides personnes (je parle d'étudiant) en leurs fournissant du code directement... cependant ça ne s'adressait pas qu'à toi.
    War does not decide who's right, but who's left. (Bertrand Russell)

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. chaine hi-fi
    Par JORDAN76 dans le forum Dépannage
    Réponses: 0
    Dernier message: 23/09/2006, 21h12
  2. Chaîne
    Par stefix dans le forum Technologies
    Réponses: 2
    Dernier message: 18/05/2006, 02h24
  3. Panne chaine Hi-Fi
    Par Nessyou dans le forum Dépannage
    Réponses: 0
    Dernier message: 22/12/2005, 17h02
  4. Un lien entre la structure du prion et son caractère infectieux
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 0
    Dernier message: 15/06/2005, 16h22
  5. raccourcir les noms de fichiers > à 128 caract.
    Par Vincent.H dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 06/05/2005, 13h02
Découvrez nos comparatifs produits sur l'informatique et les technologies.