Co jest nie tak z tym programikiem że na wyjściu wychodzą błędne dane.
vector<vector <double> > wiersz {{5,7,4,2},{4, 7, 8, 3},{2, 3, 6, 7} };
vector <double *> wskk {nullptr};
int rozmiar=0;
rozmiar=wiersz[0].size()-1;
for (int i=0; i<rozmiar; i++)
{
if ((wiersz[0].size()-2)>rozmiar)
{
cout <<"blad";
return 0;
}
wskk[i]=&wiersz[i][rozmiar-1];
wskk.push_back(nullptr);
} //wskk.pop_back();
for (int i=0; i<rozmiar-1; i++) // docelowo przydała by się funkcja która wyzeruje kolejne kolumny.
{
if (*wskk[i]<*wskk[i+1]) // największy wyraz na początek
{
double* temp=wskk[i];
wskk[i]=wskk[i+1];
wskk[i+1]=temp;
}
}
for (int i=0; i<rozmiar; i++)
{
for (int j=rozmiar; j>=0; j--)
{
cout<<*(wskk[i]-j+1)<<", ";
}
cout<<endl;
}
cout<<endl;
for (int i=0; i<rozmiar; i++)
{
for (int j=rozmiar; j>=0; j--)
{
if(i<rozmiar-1)
{
double* temp=wskk[i+1]-j+1;
double tempd=*wskk[i+1];
if(tempd==0) break;
*temp *= *wskk[0];
*temp/=tempd;
// odejmuję
// usuwam element zerowy
}
cout<<//"("<<j<<")"<<
*(wskk[i]-j+1)<<", ";
// przestawiam wskaźnik na kolejną kolumnę zmieniam rozmiar zmieniam wiersz zerowy itd..;
}
cout<<endl;
}
na wyjściu programu
4, 7, 8, 3,
2, 3, 6, 7,
5, 7, 4, 2,
4, 7, 8, 3,
2.66667, 4, 8, 7, (dlaczego 7?)
10, 14, 8, 2, (dlaczego 2?)
Wiem że to trochę dziwnie napisane ale zależy mi na wskaźnikach (chyba że suwanie wierszy jest szybsze);
Pierwszy pomysł był taki i chyba lepszy by kolejne wiersze po układać na stosie.