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 :

Boucle qui n'affiche pas un tableau [Débutant]


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Par défaut Boucle qui n'affiche pas un tableau
    Bonjour,
    je débute sur le c# et java donc je m'entraine a faire des petites manipulations d'algo basiques et voila mon problème j'écris un algo de tri a bulle en java il fonctionne je réécris la même structure en c# et il ne veut pas s'afficher.
    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
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace ConsoleApplication1
    {
        class Program
        {
     
            //Method pour afficher en console un tableau d'entier
            static void displayArray(int[] Array)
                    {
                        for (int i = 0; i < Array.Length; i++)
    			        {
    			         Console.WriteLine(Array[i]);
    			        }
                        return;
                    }
     
            //methode pour trier un tableau d'entier via Tri a bulle
           static int[] tableBubble(int[] array)
                {
                    //booleen pour sortir du tant que 
                    Boolean noEchange = true;
     
                    do
                    {
                        for (int j = 0; j < array.Length-1; j++)
                        {
                            if (array[j] > array[j + 1])
                            {
                                int tmp = array[j];
                                array[j] = array[j + 1];
                                array[j + 1] = tmp;
                                noEchange = false;
     
                            }
                        }
     
                    } while (!noEchange);
     
                    //retour du tableau trié
                    return array;
                }
     
            static void Main(string[] args)
            {
                //Instanciation de rndNumber de type random
                Random rndNumber = new Random();
     
                //Déclaration d'un tableau unidimensionnel
                int[] arrayNonTrie = new int[10];
     
                //remplissage du tableau arrayNonTrie de chiffres aléatoire
                for (int i = 0; i < arrayNonTrie.Length; i++)
                {
                    int numberRnd = rndNumber.Next(1, 100);
                    arrayNonTrie[i] = numberRnd;
                }
     
                //displayArray(arrayNonTrie);
                    //appel de la method tableBubble pour trier le tableau arrayNonTrie
                    tableBubble(arrayNonTrie);
                //appel de la method displayarray pour afficher le tableau arraynontrier qui est trie
                    displayArray(arrayNonTrie);
     
             }
    Si j'utilise la fonction comme ceci isplayArray(arrayNonTrie); sans utiliser la méthode tableBubble() j'ai bien un tableau de 10 chiffres qui s'affiche dans la console mais des que je passe par ma méthod de trie et que j'appel a nouveau mon tableau après l'avoir trié bien rien ne s'affiche
    merci d'avance

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Normal, noEchange n'st jamais mis à true => boucle infinie (a moins que le tableau soit déjà trié).
    Avec ça, ça va mieux :
    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
    23
    24
    25
    26
    27
     
     static int[] tableBubble(int[] array)
                {
                    //booleen pour sortir du tant que 
                    Boolean noEchange;
     
                    do
                    {
                        noEchange = true;
     
                        for (int j = 0; j < array.Length-1; j++)
                        {
                            if (array[j] > array[j + 1])
                            {
                                int tmp = array[j];
                                array[j] = array[j + 1];
                                array[j + 1] = tmp;
                                noEchange = false;
     
                            }
                        }
     
                    } while (!noEchange);
     
                    //retour du tableau trié
                    return array;
                }
    J'ai juste mis noExchange = true au début de la boucle do. Comme ça, si il n'y a eu aucun échange (= le tableau est trié) il quitte le while

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Par défaut
    merci bien ^^ comme quoi un avis extérieur tout de suite ca va mieux.
    mais le pire c'est qu'en comparant mon code java a celui ci je ne voyais même pas l'erreur car j'avais pas fait d'alinéa sur mon jv donc moins visible.*
    Bien encore merci

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

Discussions similaires

  1. [MySQL] Boucle qui ne fonctionne pas bien que la 1ère fois
    Par R.L. dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/05/2006, 21h59
  2. Réponses: 18
    Dernier message: 13/12/2005, 13h27
  3. [CSS] une bordure de <tr> qui s'affiche pas!!!
    Par zulot dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 28/10/2005, 12h24
  4. Réponses: 10
    Dernier message: 28/09/2005, 16h30
  5. Réponses: 1
    Dernier message: 28/07/2005, 14h21

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