class Punkt : public vector<double>
{
public:
Punkt(int r) : vector<double>(r){};
Punkt(){};
friend ostream& operator<<(ostream& os, Punkt& vec);
};
int main()
{
vector<Punkt> wektor(100);
Punkt centroid(3);
transform(wektor.begin(), wektor.end(), centroid.begin(), wektor.begin(),
minus<Punkt>());
return 0;
Cześć, w najmniejszym skrócie w wektorze "wektor" jest 100 wektor typu double o wielkosci 3 np.{12,3,-2.1,4.2} a w wektorze centroid jest bardzo podobnie tylko ze jest to jeden wektor. I teraz pytanie w jakis sposób mogę z tego wektoru "wektor" w ktorym jest te 100 wektorow odjac wartosci elementow od elementow ktore sa w wektorze centroid? Próbowalem transformem jak wyzej ale dostaje "vector iterator + offset out of range". Probowalem jeszcze zrobic tą lambdą:
transform(wektor.begin(), wektor.end(), centroid.begin(), wektor.begin(),
[](Punkt a, Punkt b){return a + b; });
ale również lipa :/ Aha..nie moge uzywac zadnych pętli,tylko algorytmy z stl.