Hej, mam do napisania program odwracający macierz metodą Gaussa-Jordana. Problem polega na tym, że nigdzie nie mogę znaleźć tej metody opisanej w taki sposób, aby można było łatwo napisać algorytm. Jeśli dobrze rozumiem to po utworzeniu macierzy jednostkowej należy przekształcać wiersze według dwóch wzorów: *najpierw w[i]/a[i][i], a potem w[i]=w[i]-a[i][1]w[i-1].
I teraz co jak i gdzie, bo coś takiego wyzeruje mi tylko kolumnę, a co z wierszem?
to do tej pory napisałem:
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cout << "Podaj Wymairy macierzy:\n";
cin>>n;
vector <vector<double>> macierz;
macierz.resize(n);
for(int i=0;i<n;i++) //wypelnainie vectora
{
macierz[i].resize(n*2);
cout<<"Wiersz "<<i+1<<endl;
for(int j=0; j<n; j++)
{
int war;
cout<<"Podaj wartosc "<<j+1<<":";
cin>>war;
macierz[i][j]=war;
cout<<endl;
}
for(int k=n;k<n*2;k++)
{
if(k==i+n)
macierz[i][k]=1;
else
macierz[i][k]=0;
}
}
for(int i=0; i<n; i++) //wyświetlanie
{
for(int j=0; j<n*2; j++)
{
cout<<macierz[i][j]<<" ";
}
cout<<"\n";
}
cout<<"\n\n";
}
mam też osobny program liczący wyznacznik metodą Gaussa.
Byłbym wdzięczny za kod/pseudokod z jakimś objaśnieniem, bo mam wrażenie że jeszcze trochę i oszaleje.
Z góry dzięki