Bonjour,
Actuellement je suis sur un code pour un projet (réseau de métro Parisien) et je souhaite afficher toutes les stations d'une ligne.
J'ai donc un code qui fonctionne parfaitement pour les afficher, mais le problèmes c'est qu'il les affiches 2 fois par station (dans une direction et dans le l'autre sur une ligne de métro)
Alors j'essaye de ne les affiche qu'une fois, le plus simple pour moi serait une fonction permettant de supprimer tous les doublons du tableau afin de ne les afficher qu'une seule fois.
Voici mon code actuel:
Le tableau listeStations contient le nom de toutes les stations de la ligne donc, mais avec les doublons, par exemple si j'appel ma fonction avec une ligne (3 bis), j'ai le résultat suivant:
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 void mainListeStations(char nomLigne[]) { int i, j, k = 0, l; char* listeStations[50]; for(i = 0; i < metroParisien.nombreDeStations; i++) { for(j = 0; j < metroParisien.listeStations[i].nombreDeSections; j++) { if( strcmp(metroParisien.listeStations[i].sectionsStation[j].referenceLigne.nomLigne, nomLigne) == 0 ) { listeStations[k] = metroParisien.listeStations[i].nomStation; k++; } } } for(l = 0; l < k; l++) { printf("%s\n", listeStations[l]); } //interfaceResultatListeStations(&metroParisien, numeroLigne); }
(Il n'affiche qu'une fois Gambetta et Porte des Lilas car se sont les terminus et ils sont présents qu'une seule fois dans une des deux directions).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Saint-Fargeau Saint-Fargeau Porte des Lilas Gambetta Pelleport Pelleport
J'aimerais avoir quelque chose de ce type (peut importe l'ordre d'affichage des stations, dans l'ordre ou non, même si dans l'ordre serait mieux)
Avez vous une idée de comment je peut réaliser une fonction permettant de supprimer les doublons d'un tableau de char et de l'affiche ensuite ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Saint-Fargeau Porte des Lilas Gambetta Pelleport
Merci, en espérant une réponse rapide.
Cordialement,
Share45.
Partager