Witam,
mam pytanie początkującego, poniżej umieściłem fragment mojego kodu odpowiedzialnego za kinematykę odwrotną, jednak mam następujący problem. Jeżeli chcę wyświetlić wartość macierzy/tablicy Xroty w funkcji main za pomocą metody Display z klasy matrix otrzymuję jakieś dziwne wartości (śmieci), natomiast jeżeli ta sama operacja jest przeprowadzona w Xroty wszystko jest wyświetlane w porządku. Dlaczego tak się dzieje, bardzo byłbym wdzięczny za szybką odpowiedź
class matrix
{
public:
void Display (float* A, int SizeAr, int SizeAc);
};
void matrix::Display (float* A, int SizeAr, int SizeAc)
{
for (int i=0; i<SizeAr; i++)
{
for (int j=0; j<SizeAc; j++)
{
cout << A[i*SizeAc + j] << " ";
}
cout << endl;
}
}
class sva
{
public:
float* Xroty (double theta);
};
float* sva::Xroty (double theta)
{
matrix b;
float c = cos (theta);
float s = sin (theta);
float X[36] = {
c,0,-s,0,0,0,
0,1,0,0,0,0,
s,0,c,0,0,0,
0,0,0,c,0,-s,
0,0,0,0,1,0,
0,0,0,s,0,c
};
x_roty = X;
b.Display(x_roty,3,3);
return x_roty;
}
int main ()
{
matrix test;
sva a;
test.Display(a.Xroty(3),6,6);
getchar();
return 0;
}