strange... fabs-funktion



  • nach meinen anfänglichen schwierigkeiten hab ich ein neuerliches problem...
    und zwar soll ich einen gauss-algorithmus implementieren mit spalten-pivotsuche...
    die pivot-suche arbeitet so, dass sie das dem betrag nach größte element einer spalte einer matrix heraussucht.

    if (fabs(a[i][k])>max){
    max=a[i][k];
    index=i;
    }
    

    argh, fehler gefunden!
    übergebe a[i][k], nicht fabs(a[i][k]...
    *dumm is*

    thx, KingBenny



  • ich kenne dieses verfahren nicht, deshalb nur diese anmerkung:

    wenn k ein int > 0 ist, dann ist
    1/(k+1) gleich 0

    du muesstest dann casten:
    1/((float)k+1)



  • hm, danke schonmal..
    wie gesagt, das eigentliche problem ist gelöst.
    k und l sind als float definiert.
    nun bekomme ich aber ne warnung, umwandlung von double in float,...
    und zwar hier:

    max=fabs(a[i][k]);
    

    max ist als float definiert, das array a auch... der fehler wirkt sich zwar nicht aus (noch nicht), aber ich hätte ihn gerne weg...

    KB


Anmelden zum Antworten