Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Invité de passage
    Inscrit en
    janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : janvier 2013
    Messages : 5
    Points : 1
    Points
    1

    Par défaut comparaison deux entiers

    bonjour tout le monde

    alors je suis entrain de débuter avec c sharp et j'ai trouvé un problème avec l'exercice suivant
    1. L’utilisateur donne 2 valeurs entières distinctes. Ecrire un programme qui calcule dans une variable la valeur du plus grand de ces é entiers et de l’afficher.
    2. Modifier le programme pour calculer le maximum de 4 entiers


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    using System.Text;
     
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[] tableau = new int[2];
                int i, j, k;
                for (i = 0; i < tableau.Length; i++)
                {
                    Console.WriteLine("donner dun entier ");
                    tableau[i] = int.Parse(Console.ReadLine());
     
                ** for (i = 0; i < tableau.Length; i++) { Console.WriteLine(tableau[i]); **
     
                for (k = 0; k < tableau.Length; k++)
                {
                    j = k;
     
                    for (i = k; i < tableau.Length; i++)
                    {
                        if (tableau[i] < tableau[j])
                        { j = i; **
     
                        int val = tableau[k];
                        tableau[k] = tableau[j];
                        tableau[j] = val;
     
                        Console.WriteLine(tableau[i]);
     
                    }
     
     
     
     
     
     
    }
                Console.ReadLine();
            }
     
     
     
        }
    }
    Merci infiniment qui me donner des idée et m'explique certain point

  2. #2
    Membre habitué Avatar de zhouyu
    Homme Profil pro Loïc
    Étudiant
    Inscrit en
    octobre 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Nom : Homme Loïc
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2009
    Messages : 84
    Points : 131
    Points
    131

    Par défaut

    Salut.
    Qu'est-ce que tu ne comprends pas? Que veux tu qu'on t'explique?

  3. #3
    Invité de passage
    Inscrit en
    janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : janvier 2013
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par zhouyu Voir le message
    Salut.
    Qu'est-ce que tu ne comprends pas? Que veux tu qu'on t'explique?
    Bonjour , Merci pour ta réponse assez vite
    alors ce code m'affiche deux résultats alors que le code doit retourner l'entier le plus grand comment résoudre ce problème .j'aime bien savoir comment faire pour que l'utilisateur peut taper seulement des entiers par exemple il peut pas entres des réels ou des chaine de caractères.
    Merci d'avance

  4. #4
    Modérateur
    Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : février 2006
    Messages : 754
    Points : 1 184
    Points
    1 184

    Par défaut

    Bonjour,

    Il faut que tu expliques ce qui te bloques... Si tu crois qu'on va te faire ton boulot, c'est pas le but de ce forum. De toute façon, il y aura bien quelqu'un pour te poster la solution, mais si tu veux apprendre, il faut comprendre.

    Qu'est ce qui te bloques?
    Un âne se croit savant parce qu'on le charge de livres (proverbe américain)

    N'oubliez pas de avant de
    Pas de question techniques par MP, c'est contre la philosophie du forum

  5. #5
    Invité de passage
    Inscrit en
    janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : janvier 2013
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par sisqo60 Voir le message
    Bonjour,

    Il faut que tu expliques ce qui te bloques... Si tu crois qu'on va te faire ton boulot, c'est pas le but de ce forum. De toute façon, il y aura bien quelqu'un pour te poster la solution, mais si tu veux apprendre, il faut comprendre.

    Qu'est ce qui te bloques?
    Bonjour , Merci pour l'aide que tu ma apporter .
    Alors bien sur que je veux apprendre et j'essaye de comprendre et j'ai indiqué que "je débute avec c#" en tout cas ce que me bloque c'est que le code affiche le résultat deux fois et je cherche comment faire l'exception pour que l'utilisateur entre que des entiers.
    Merci

  6. #6
    Expert Confirmé Sénior Avatar de Graffito
    Inscrit en
    janvier 2006
    Messages
    5 692
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 5 692
    Points : 6 537
    Points
    6 537

    Par défaut

    La double boucle sur k et i est plûtot adaptée à un tri qu'à la recherche d'un maximum qui n'a besoin que d'une seule boucle.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  7. #7
    Invité de passage
    Inscrit en
    janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : janvier 2013
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par Graffito Voir le message
    La double boucle sur k et i est plûtot adaptée à un tri qu'à la recherche d'un maximum qui n'a besoin que d'une seule boucle.
    Merci infiniment frère ca marche parfait avec un seul boucle alors maintenant je veut avoir comment faire pour que l'utilistaueur peut entrer que des entier j'ai testé avec "Int.Parse" est ca marche pas

  8. #8
    Modérateur
    Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : février 2006
    Messages : 754
    Points : 1 184
    Points
    1 184

    Par défaut

    Essayes avec int.tryparse, ça renvoie un booléen pour t'indiquer si il est arrivé à convertir ta chaine vers un entier, et le deuxième paramètre de sortie de fonction te renvoie la valeur convertie si il y est arrivé...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //Exemple d'utilisation : 
    int valeur;
    if (int.TryParse(Console.ReadLine(), out valeur))
    {
        //Utilisation de valeur
    }
    else
    {
        //Afficher un message indiquant que la chaine entrée est incorrecte...
    }
    Un âne se croit savant parce qu'on le charge de livres (proverbe américain)

    N'oubliez pas de avant de
    Pas de question techniques par MP, c'est contre la philosophie du forum

  9. #9
    Invité de passage
    Inscrit en
    janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : janvier 2013
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par sisqo60 Voir le message
    Essayes avec int.tryparse, ça renvoie un booléen pour t'indiquer si il est arrivé à convertir ta chaine vers un entier, et le deuxième paramètre de sortie de fonction te renvoie la valeur convertie si il y est arrivé...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //Exemple d'utilisation : 
    int valeur;
    if (int.TryParse(Console.ReadLine(), out valeur))
    {
        //Utilisation de valeur
    }
    else
    {
        //Afficher un message indiquant que la chaine entrée est incorrecte...
    }
    Merci pour tout qui ma apporter de l'aide j'ai trouvé une solution et ça marche parfaitement maintenant.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •