Reprezentacja liczby ulamkowej.

Reprezentacja liczby ulamkowej.
SK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 133
0

Witam

Kopiuj
bool find_negative_cycle(VNode** list,float* d,int n){
    for(int j=0;j<n;j++){
        VNode *CV = list[j];
        VNode *CN = CV->next;
        while(CN != NULL){
            if(d[CN->V] > d[CV->V]+CN->E)
                return true;
            CN = CN->next;
        }
    }
    return false;
}

Dla (d[CN->V] > d[CV->V]+CN->E)liczb 0.600000 > 0.260000 + 0.3400000 daje true. Jak temu zaradzic?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
3

Albo dajesz Epsiłon albo reprezentujesz wartości:

  • w centylach: 60>26+34
  • w promilach: 600>260+340
kaczus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 1403
1

@_13th_Dragon dał podpowiedź jak temu zaradzić (nie używać liczb zmiennoprzecinkowych), a dlaczego się tak dzieje? Po prostu "Taki jest urok tych liczb"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.