[Macierze] Dziwactwa po zmianie typu tablicy

0

Witam, pisze pewien projekt dla znajomego. Wszystko ladnie dzialalo, az do momentu w ktorym zachcialem zaimplementowac algorytm gaussa-jordana do tworzenia macierzy odwrotnej. Zrobilem go w oddzielnym projekcie by bylo mi latwiej myslec nad samym algo, a nie jak powinien wygladac w projekcie. I dziala. A teraz gdy chce go wprowadzic do projektu, jest problem taki ze tabela byla INTow wiec, logiczne zmienic typ na double. I tak robie. Ale gdy korzystam wtedy z np. dodawania dwoch macierzy, dzieja sie dziwne rzeczy. Raz doda tylko czesc liczb, a gdy np mnoze macierz przez skalar wychodza dziwne wyniki choc liczby sa naturalne... Na intach smiga wszystko.

    
tab = new double *[lw];
    for(int i=0; i<lw;i++)
    {
        tab[i] = new double[lk];
    }

Tak wyglada tablica, nie wiem, moze dla double trzeba inaczej deklarowac?
Nie widze innych rzeczy ktore sa dziwne. Przeciez tak samo chyba sie seekuje tablice double jak intow. Wiec dodawanie odpowiednich elementow jest takie samo. Jakies pomysly?

0

Zadziwiam sie jeszcze bardziej... zmienilem double na float i wszystko dziala poprawnie. Niby rozwiazany problem, ale czy moglby ktos mi wyjasnic dlaczego takie zamieszanie?

0

Nie dałeś zbyt wiele kodu, ale częstym problemem przy zamianie float/double okazuje się być niepoprawne wczytywanie tych liczb scanfem.
Dla doubli ma być %lf
Dla floatów - %f

0

Pisze w c++, wiec używam strumieni, wiec nie mam tego typu problemów. Przy floatach PRAWIE wszystko działa. Własnie zauwazylem problem jeden:/ Taki sam jak przy double. Zle liczy:/

0

Problem polegal na zbyt wielkiej dokladnosci typow.

1 użytkowników online, w tym zalogowanych: 0, gości: 1