langage C
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

langage C



  1. #1
    invite4c7369f0

    langage C


    ------

    bonjour,
    le but de mon exo est de faire un programme C de cette somme :

    S=1/2 -2/3 +3/4 -4/5 + ...-100/101

    alors ce que j'ai fait :
    Code:
    #include<stdio.h>
    
    main()
    {
        int n,m,i;
        double s;
    
    n=2;
    m=1;
    s=0;
    i=1;
    while(i<=100)
    {
        if (i%2==0)
        {
            s=s-(m/n);
    
        }
        else
        {
            s=s+(m/n);
        }
    }
    printf("%f",s);
    }

    mais à la fin , il m'affiche 0 , mais pourquoi ? Je n'arrive pas à trouver mon erreur .

    Merci d'avance

    -----
    Dernière modification par JPL ; 02/11/2013 à 12h38. Motif: Ajout de la balise Code (#) pour garder l'indentation

  2. #2
    bisou10

    Re : langage C

    Parce que int c'est un type entier, et non décimal.

  3. #3
    invite4c7369f0

    Re : langage C

    j'ai déjà essayé ça ne marche pas non plus , il m'affiche comme quoi i%2== 0 n'est pas possible

  4. #4
    bisou10

    Re : langage C

    je me demande bien ce que tu peux avoir essayé d'après ma réponse ....
    Moi je te donne l'erreur, à toi de la corriger

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

    Re : langage C

    tiens :
    include<stdio.h>

    main()
    {
    float n,m,i,s;


    n=2;
    m=1;
    s=0;
    i=1;
    while(i<=100)
    {
    if (i%2==0)
    {
    s=s-(m/n);

    }
    else
    {
    s=s+(m/n);
    }
    }
    printf("%f",s);
    }
    où est mon erreur maitenant ?

  7. #6
    bisou10

    Re : langage C

    Ben tu en as au moins 2:
    - une monstrueuse erreur d'algo (ca ne peut pas marcher)
    - une mauvaise utilisation des types int/float

    Bonne chance !

  8. #7
    polo974

    Re : langage C

    Et à quoi devrait servir i? donc pourquoi le passer en float...

    Et i, il vaut combien à le 123467ème itération?

    il y a peu de temps, on s'est fritté sur les flottants, ça vaut le coup de le lire, (en dehors de la guéguerre) il y a eu quelques infos utiles...

    enfin, perso, j'aurais fait une boucle qui avance de 2 en 2 avec le plus et le moins dans la foulée...
    Jusqu'ici tout va bien...

  9. #8
    invite4c7369f0

    Re : langage C

    il faut mettre if ... else dans l'algo ?

  10. #9
    invite4c7369f0

    Re : langage C

    mon algo est faux , mais je ne vois pas comment je pourrais faire

  11. #10
    bisou10

    Re : langage C

    Déjà que tu le fasses sur papier. Ensuite, tu pourras peut-être envisager de le coder. Demande toi ce que tu veux faire, ce que tu dois intérer, puis défini des types adaptés.

  12. #11
    Jack
    Modérateur

    Re : langage C

    Je ne sais pas si c'est de la fénéantise ou de la mauvaise volonté, mais ça fait plusieurs fois que JPL et moi ajoutons les balises code à ta place. Je te l'ai d'ailleurs clairement signalé dans une autre discussion.
    Une présentation correcte du code dans une demande d'aide est une forme de respect pour le lecteur.



  13. #12
    Arzhur

    Re : langage C

    Mais euh....ça boucle pas à l'infini ? (ou bien il en manque un bout ou j'ai pas les yeux en face des trous)

  14. #13
    JPL
    Responsable des forums

    Re : langage C

    Citation Envoyé par Jack Voir le message
    Je ne sais pas si c'est de la fénéantise ou de la mauvaise volonté, mais ça fait plusieurs fois que JPL et moi ajoutons les balises code à ta place. Je te l'ai d'ailleurs clairement signalé dans une autre discussion.
    Une présentation correcte du code dans une demande d'aide est une forme de respect pour le lecteur.
    Donc on ne rajoute pas la balise Code au message 5.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  15. #14
    Optimix

    Re : langage C

    où est mon erreur maintenant ?
    Bigre ! Il y a encore du taf en perspective.
    - le code du message 5 est pire que celui du 1 : revoyez la syntaxe de l'opérateur Modulo.
    - i et n ne servent strictement à rien. Puisque i=m et n=m+1, on n'a besoin que de deux variables : m et s.
    - votre magnifique boucle sans fin est la plus grosse erreur. Si vous faites un petit algorigramme, vous allez tout de suite mettre le doigt dessus.

    Mieux vaut éviter de proposer un source qui n'a manifestement pas été testé. Je ne vois pas comment votre code pourrait donner 0 à la fin, puisqu'il n'y a pas de fin.
    Enfin, en proposant un source sans les balises CODE, on perd l'indentation, ce qui complique considérablement la lecture de votre travail.

  16. #15
    polo974

    Re : langage C

    Citation Envoyé par Optimix Voir le message
    Bigre ! Il y a encore du taf en perspective.
    - le code du message 5 est pire que celui du 1 : revoyez la syntaxe de l'opérateur Modulo.
    - i et n ne servent strictement à rien. Puisque i=m et n=m+1, on n'a besoin que de deux variables : m et s.
    Pffff...
    fallait pas tout dire, maintenant, le gros du travail est fait...
    mais c'est vrai que ça démange

    - votre magnifique boucle sans fin est la plus grosse erreur. Si vous faites un petit algorigramme, vous allez tout de suite mettre le doigt dessus.
    Là, il y a 2 erreurs.
    la plus voyante (cf ma question précédente: """ Et i, il vaut combien à le 123467ème itération? """)
    la plus pernicieuse (là ça marchera, mais plus tard, ça plantera en beauté, et si possible une fois le prog en production. (cf le lien vers un autre fil sur les float))
    Mieux vaut éviter de proposer un source qui n'a manifestement pas été testé. Je ne vois pas comment votre code pourrait donner 0 à la fin, puisqu'il n'y a pas de fin.
    Le 0 à la fin, ça devait être la note...
    Enfin, en proposant un source sans les balises CODE, on perd l'indentation, ce qui complique considérablement la lecture de votre travail.
    Parfois, il vaut mieux sans, ça trompe moins...

    Mais c'est vrai que bien indenter et utiliser les outils du forum, c'est mieux (quelqu'un a dit qu'il fallait aller en édition avancée ?).


    On attend toujours les réponses aux diverses questions, car ici, on répond souvent par des question pour faire réfléchir le demandeur...
    Jusqu'ici tout va bien...

  17. #16
    danyvio

    Re : langage C

    Il a simplement oublié d'incrémenter i m et n
    Par ailleurs, il est inutile d'utiliser deux variables m et n, une seule suffit...
    On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !

  18. #17
    danyvio

    Re : langage C

    Et même i suffit pour gérer les opérations . m et n inutiles...
    On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !

Discussions similaires

  1. le langage C est t il un langage qui a de l'avenir ?
    Par invitefba467f4 dans le forum Programmation et langages, Algorithmique
    Réponses: 13
    Dernier message: 12/11/2014, 12h01
  2. Langage C et langage HTML
    Par physik_theory dans le forum Programmation et langages, Algorithmique
    Réponses: 19
    Dernier message: 12/08/2013, 19h07
  3. Langage C
    Par invite7d5fbfb4 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 06/11/2011, 12h52
  4. de langage C en langage assembleur
    Par invite284746c1 dans le forum Électronique
    Réponses: 1
    Dernier message: 14/05/2009, 12h42