Bonjour a tous, et d'avance je m'excuse.

J'ai regardé pas mal de trucs sur le net, mais y'a des choses que je comprend pas. Je m'explique :


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
 
double distanceKolmo(long tailleA, long tailleB, long tailleAB)
{
    double resultat = 0.;
    long min = minKolmo(tailleA, tailleB);
 
 
    if (tailleA > tailleB)
    {
        resultat =  1.0 - (tailleA + tailleB - tailleAB)/min;
 
        printf("Min? = %ld \n", min);
 
        printf("TAILLE A = %ld \n", tailleA);
        fflush(stdout);
        printf("TAILLE B = %ld\n", tailleB);
        fflush(stdout);
        printf("TAILLE AB = %ld\n", tailleAB);
        fflush(stdout);
 
        printf("KOLMO DISTANCE = %9ld \n", resultat);
        fflush(stdout);
        return resultat;
    }
Mon problème est le suivant, mon print KOLMO DISTANCE m'imprime 0 a chaque fois, alors 2 possibilités :

- est ce que ma variable resultat contient vraiment 0 ?
- ou bien c'est un mauvais format dans printf qui fait que ça m'affiche 0 ?

Je suis perdu avec tout ça . . .

2nde question si je compare 2 doubles compris entre 0 et 1, est ce correct comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
if (tabNotSpam[cptNotSpam] > tabSpam[cptSpam])
Ou y'a t-il d'autres précautions a prendre??????? parce que j'ai l'impression que la condition est toujours vraie...

Voila j'espère avoir été assez clair , merci et pardon si c'est des questions m....... que je pose...