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 :

Aide, petit programme


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 29
    Par défaut Aide, petit programme
    Bonjour,

    J'ai un petit exercice sous la main en C mais je ne vois pas comment m'y prendre pour le réaliser !

    Voici l'énoncé :

    Ecrire un programme qui affiche le minimum et maximum d'une suite d'entiers naturels rentrée par l'utilisateur (-1 pour fin de saisie). Ces entiers ne sont pas stockés dans un tableau.

    Je précise juste que j'ai un niveau plutôt débutant en C et que je m'entraîne !

    Merci pour vos remarques, avis, aides ...

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Bonjour,

    • while() pour saisir tes entiers un à un tant que l'entier lu n'est pas égal à -1 ;
    • Deux variables mini et maxi ;
    • Un scanf() pour lire tes entiers (ou fgets() et strtol()) ;
    • Les opérateurs de comparaison < et > dans un if() pour les comparer à tes variables mini et maxi, que tu mets à jour au besoin.


    Et c'est tout ! :-)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 29
    Par défaut
    Merci. Mais si on entre par exemple 123456 je ne vois pas comment faire pour trouver l'entier le plus grand et le plus petit ...

    En plus je la stocke dans une seule variable cette suite alors j'ai du mal à voir ou alors je me suis trompé ..

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Citation Envoyé par rromain Voir le message
    En plus je la stocke dans une seule variable cette suite alors j'ai du mal à voir ou alors je me suis trompé ..
    L'idée est de ne pas stocker toute la suite pour la ré-analyser en entier depuis le début, ce qui est idiot, mais de maintenir en temps réel une variable nommée « maximum », par exemple, et de remplacer le contenu de cette variable par la valeur que tu viens de lire s'il s'avère que celle-ci est plus grande que celle de la variable.

    Même chose pour la variable « minimum ».

    Ça veut dire aussi qu'il faut également mettre le résultat de ton scanf() ou strtol() dans une variable aussi mais, dans tous les cas, tu n'en maintiens jamais que trois.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 29
    Par défaut
    Oui, effectivement ça paraît déjà plus judicieux et plus cohérent !

    Mais bon, ça ne vient pas tout seul au début faut croire ...

    Mais je n'y arrive toujours pas parce que au passage de la première itération si n>max alors max=n mais pour le min je ne vois pas comment faire puisque si n<max ce n'est pas forcément min ...

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Avril 2010
    Messages : 66
    Par défaut
    Citation Envoyé par rromain Voir le message
    mais pour le min je ne vois pas comment faire puisque si n<max ce n'est pas forcément min ...
    Si n < min, non ?
    Mais pour connaître la valeur initiale de min, tu dois lui attribuer une valeur très grande, créé éventuellement un "unsigned int" (un entier non-signé, ce qui veut dire qu'il ne peut pas avoir de valeur négative), et tu mets sa valeur à -1. Lorsque l'on attribue un nombre négatif à un unsigned int, la valeur de la variable devient le nombre maximum que peut contenir un unsigned int. Ainsi, ta variable sera bien assez grande. A moins évidemment que tu peux t'imposes déjà une valeur limite.

Discussions similaires

  1. Besoin d'aide petit Programme Python
    Par Esteban96 dans le forum Général Python
    Réponses: 9
    Dernier message: 21/10/2013, 11h22
  2. aide petit programme flash
    Par endelium dans le forum Flash
    Réponses: 1
    Dernier message: 08/11/2009, 23h44
  3. Besoin d'aide pour un petit programme
    Par Nico35 dans le forum C
    Réponses: 13
    Dernier message: 25/05/2006, 22h21
  4. aide petit programme pour débutant
    Par kartp0rqx dans le forum C
    Réponses: 16
    Dernier message: 14/10/2005, 19h31

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