none
Console.WriteLine impossible d'afficher un tres long Text

    Question

  • Bsr!

    j'ai créer un petit programme qui permet de generer une liste d'arrangement, mais la console n'affiche pas le resultat lors que ma varriable k est affectée d'un nombre superieur 4 .

    Voici le code:

    Merci d'avance.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace TestClass
    {
        class Program
        {
            public static string arrgtliste;
            public static long nbarrgt;
            static void Main(string[] args)
            {
                int[] t = new int[20];
                int n = 20;
                int k = 6;
                string l = "";
    
                for( int i = 0; i < n; i++){
                    t[i] = i + 1;
                }
    
                arrgt(l, t, n, k);
                Console.WriteLine("Voici la liste:");
                Console.Write(arrgtliste + "");
                Console.WriteLine("Nous avons au total " + nbarrgt + " Combinaison");
                Console.ReadLine();
    
            }
    
    
    
            public static int bij(int x)
            {
                return x;
            }
    
            public static void arrgt(string L, int[] t, int n, int k)
            {
                if (k == 0)
                {
                    arrgtliste += "(" + L + "), ";
                    nbarrgt++;
                }
                else
                {
                    for (var i = 0; i < n; i++)
                    {
                        var L2 = L + bij(t[i]);
                        if (k > 1) L2 += ", ";
    
                        var t2 = new int[n];
                        var j = 0;
                        for (var r = 0; r < n; r++)
                        {
                            if (r != i)
                            {
                                t2[j] = t[r];
                                j++;
                            }
                        }
                        arrgt(L2, t2, n - 1, k - 1);
                    }
                }
            }
        }
    }
    

    mardi 20 mars 2018 06:34

Toutes les réponses

  • Bonjour Mvola Juste,

    ce qu'il se passe, c'est que votre programme ne sors jamais de votre méthode arrgt lorsque k > 4, donc votre programme n'arrive jamais dans les Console.WriteLine.

    Cordialement,

    mardi 20 mars 2018 12:48