Wpis z mikrobloga

Hej mireczki. Potrzebuję pomocy bo tracę już nerwy. mam do napisania program, który przyjmuje od użytkownika rozmiar macierzy, wypełnia tą macierz liczbami w przedziale -1kk do 1kk. i liczy macierz odwrotną, gaussem jordanem.
No i musimy się zabezpiecyć, żeby det nie był zerem. Ja ten punkt uprościłem do tego, żeby sprawdzał czy na przekątnych jest zero i jak jest to pozmieniał wiersze miejscami. Na końcu jak się przy ostatnim nie będzie dało to wywali błąd. Nie do końca ogarniam algorytm wyznaczania wyznacznika, a nie chcę tego wrzucać na pałę, bo nie wytłumaczę prowadzącemu czego nie rozumiem.
No i do meritum. Program sprawdza zero na przekątnej, przerzuca wiersz do takiego, który nie ma zera na tym miejscu, dzieli cały wiersz przez to co jest na przekątnej w całym wierszu i tu zaczyna się mój problem.
Program powinien przejść do kolejnego wiersza, podzielić ten wiersz przez jego element w kolumnie, tak, aby w całej kolumnie były jedynki i odjąć od każdego kolejnego wiersza wiersz pierwszy. No i tu sobie nie radzę. Może ktoś rzucić okiem na kod? jestem zabity na samym początku w sumie.
Chciałem też wrzucić te algorytmy w funkcje, ale tu się już gubię, więc jest jak jest.
#cpp #programowanie #metodynumeryczne #informatyka
https://pastebin.com/5FCeMvej
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@gdziemojimbuspiatka: z tego co mi się wydaje, wyznacznik równy zero nie jest równoważny z tym, że macierz ma zera na przekątnej. Najlepiej po prostu przed obliczaniem macierzy odwrotnej policz wyznacznik implementując jakąś metodę i sprawdzaj czy przypadkiem nie jest równy zero.
  • Odpowiedz