Пример #1
0
        public static void Main(string[] args)
        {
            // Liste des villes
            string[] V = { "Vancouver", "Seattle",        "Calgary",     "Portland",   "Helena",   "Winnipeg", "San Francisco", "Salt Lake City", "Denver",    "Omaha",
                           "Duluth",    "Sault St Marie", "Los Angeles", "Las Vegas",  "Phoenix",  "Santa Fe", "Oklahoma City", "Kansas City",    "Chicago",   "Toronto","Montreal",    "El Paso",
                           "Dallas",    "Little Rock",    "Saint Louis", "Pittsburgh", "New York", "Boston",   "Houston",       "New Orleans",    "Nashville", "Raleigh","Washington",  "Atlanta","Miami", "Charleston" };

            // Liste des villes convertie en liste de noeuds
            List <Noeud> Villes = ListeNoeud(V);

            // J'ai tenté de faire la liste des arêtes du graphe mais ca avit planté il faut que je retente
            List <Arete> Liens = new List <Arete>();
            bool         i     = true;

            while (i)
            {
                Console.WriteLine("Extremité 1");
                int e1 = int.Parse(Console.ReadLine());
                Console.WriteLine("Extremité 2");
                int e2 = int.Parse(Console.ReadLine());
                Console.WriteLine("Couleur 1");
                string c1 = Console.ReadLine();
                Console.WriteLine("Couleur 2");
                string c2 = Console.ReadLine();
                Console.WriteLine("Troncons");
                int tr = int.Parse(Console.ReadLine());

                Noeud n1 = ListtoNoeud(V, e1);
                Noeud n2 = ListtoNoeud(V, e2);

                if (c1 == "")
                {
                    Arete A = new Arete(n1, n2, 0, tr);
                    Liens.Add(A);
                }

                else
                {
                    if (c2 != "")
                    {
                        Arete A = new Arete(n1, n2, 0, tr, c1, c2);
                        Liens.Add(A);
                    }

                    else
                    {
                        Arete A = new Arete(n1, n2, 0, tr, c1);
                        Liens.Add(A);
                    }
                }

                Console.WriteLine("Une autre ? 1-> oui 0 -> non ");
                int b = int.Parse(Console.ReadLine());

                if (b == 0)
                {
                    i = false;
                }
            }

            // Le plateau qui prend en argument la liste des villes en Noeuds et la liste de toutes les arêtes du plateau.
            Graphe Plateau = new Graphe(Villes, Liens);

            //Mdr j'étais desespérée ok
            Console.WriteLine("ok");
            Console.ReadLine();
        }
Пример #2
0
 // Surcharge du constructeur où on précise une couleur
 public Arete(Noeud n1, Noeud n2, int pds, int troncons, string c1) : this(n1, n2, pds, troncons)
 {
     Couleur1 = c1;
 }
Пример #3
0
 // Deuxième surcharge où on précise les 2 couleurs de l'arête s'il y a lieu
 public Arete(Noeud n1, Noeud n2, int pds, int troncons, string c1, string c2) : this(n1, n2, pds, troncons, c1)
 {
     Couleur2 = c2;
 }
Пример #4
0
        }                                     // Liste des arêtes empruntées pour relier les 2 villes


        public Chemin(Noeud n1, Noeud n2, List <Arete> path) // Constructeur
        {
            Debut = n1;
            Fin   = n2;
            Path  = path;
        }