IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Le programme donne un résultat erroné


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut Le programme donne un résultat erroné
    Bonjour,

    ce programme devant donné le nombre de sous séquences croissantes me donne 0 comme résultat à chaque fois ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(int argc, char *argv[])
    {
    int precedent,courant,cptr;
     
    for(cptr=0,printf("introduire un entier : "),scanf("%d",&courant),precedent=courant;0!=courant;printf("introduire un entier : "),scanf("%d",&courant),precedent=courant)
     
    if(courant<precedent)
    cptr++;
     
    printf("il y a %d sous sequences croissantes\n",cptr);
     
      system("PAUSE");
      return 0;
    }

  2. #2
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Hum, dis moi, ton objectif est d'obfusquer le code ? ><

    voici une retraduction de ta boucle for :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for(cptr=0; 0!=courant; )
    {
        printf("introduire un entier : ");
        scanf("%d",&courant);
        precedent=courant;
        if(courant<precedent)
            cptr++;
    }
    Je pense que tu as compris pourquoi cptr = 0 a chaque fois.

  3. #3
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    Je comprends mieux ton code mais ce qui est étonnant c'est que mon code est la solution donné par mon prof
    J'ai recopié exactement son code et ça ne pouvait pas fonctionner

  4. #4
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    J'aimerais pas avoir un prof comme le tiens

  5. #5
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    Ton code ne fonctionne pas diogène ? Et celui de soft non plus

  6. #6
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    ? Je t'ai juste indiqué ou etait le probleme ^^
    Et diogene a retranscrit ton code en lisible, mais ca reste ton code, normal que ca marche pas.

    Pour info, combien de sous sequence croissante on a ici ?

    1
    2
    3
    4
    5
    0
    Une ou quatre ?
    La solution est plus complexe a avoir que tu ne le pense si c'est une.

  7. #7
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Non, parce que c'est TON code (ou celui de ton prof) retranscrit clairement.

    mais ce qui est étonnant c'est que mon code est la solution donné par mon prof
    Hallucinant !
    Ce n'est même plus de l'amateurisme mal digéré, c'est du sabotage !

    Condoléances.

  8. #8
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Citation Envoyé par diogene Voir le message

    Hallucinant !
    Ce n'est même plus de l'amateurisme mal digéré, c'est du sabotage !

    Condoléances.
    Deja, rien que le fait de mettre tout dans le for pour économiser trois lignes ....
    Les prof font ce qu'ils peuvent, desfois c'est juste un peu court.

  9. #9
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Si tu écrivait ton code de façon claire au lieu d'utiliser un for parfaitement abscons , peut-être pourrais-tu t'y retrouver toi-même.

    En voici une forme équivalente :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(int argc, char *argv[])
    {
      int precedent,courant,cptr;
      cptr = 0;
      printf("introduire un entier : ");
      scanf("%d",&courant);
      precedent=courant
      while(0!=courant;)
      { 
         if(courant<precedent)
            cptr++;
         printf("introduire un entier : ");
         scanf("%d",&courant);
         precedent=courant; 
      }
      printf("il y a %d sous sequences croissantes\n",cptr);
      system("PAUSE");
      return 0;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon programme donne un résultat "incorrect"
    Par domxaline dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 07/01/2015, 10h15
  2. Ajout dans une liste donne un résultat erroné
    Par *alexandre* dans le forum Langage
    Réponses: 0
    Dernier message: 18/05/2009, 16h17
  3. crc32() donne un résultat négatif
    Par Hal2001 dans le forum Langage
    Réponses: 1
    Dernier message: 19/04/2006, 18h11
  4. Réponses: 5
    Dernier message: 19/11/2004, 19h16
  5. Résultats erroné différence entre deux types TDateTime
    Par Alghero dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/03/2004, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo