Salut,

Quelqu'un me propose une idée ou s'il y a une faute la corrige svp, je cherche pour chaque client ses k voisins dans l'ordre croissant des distances. Voici le code :

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
for (int s = 0; s < n; s++)
{
    cout << "pour le client " << s << " " << "ses voisins dans l'ordre croissant des distances : " << endl;
    for (int b = 1; b < n; b++)
    {
        for (int w = 0; w < n; w++)
            if (w != s)    //il ne faut pas comparer le client avec lui meme
            {
                for (int i = 1; i <= b; i++)
                    if (vect[s][i] != w) // il faut que w n'existe pas dans les voisins déja trouvés , vect stocke pour le client s ts ses voisins possibles
                        for (int m = w + 1; m < n; m++)
                            if (s != m)
                                for (int i = 1; i <= b; i++)
                                    if (vect[s][i] != m)
                                        if (dis[s][w] < dis[s][m])
                                        {
                                            if (dis[s][w] < distance)
                                            {
                                                voi = w; //voi: variable qui stocke a chaque comparaison  en parcourant ts les autres clients le meilleur trouvé
                                                distance = dis[s][w];
                                            }
                                        } //distance variable initialisé a un trés grand nombre et dis[s][w] distance entre deux clients
                                        else if (dis[s][w] > dis[s][m])
                                        {
                                            if (dis[s][m] < distance)
                                            {
                                                voi = m;
                                                distance = dis[s][m];
 
                                            }
                                        }
                vect[s][b] = voi;
            }
        cout << vect[s][b] << endl;
    }
}
mais voilà ce qu'il maffiche :

Nom : z.png
Affichages : 340
Taille : 7,5 Ko