Witam
Pisze sobie prosty program , ktory ma operwoac na punkcie tzn rotacjam, sklaowanie i musze mnozyc w nim macierze. Narazie musze wymnozyc macierz przez punkt.
I cos mi nie wychodzi.
Jak mam to zrobic aby dobre wyniki wychodzily???
Pisze sobie prosty program , ktory ma operwoac na punkcie tzn rotacjam, sklaowanie i musze mnozyc w nim macierze. Narazie musze wymnozyc macierz przez punkt.
I cos mi nie wychodzi.
#include <iostream.h>
class macierz
{
public:
int tab[2][2];
macierz(int z,int a,int b);
macierz mnoz(macierz);
//punkt mnozpkt(punkt);
macierz(){};
void wys()
{
cout<<"|"<<tab[0][0]<<" , "<<tab[0][1]<<" , "<<tab[0][2]<<"|"<<endl;
cout<<"|"<<tab[1][0]<<" , "<<tab[1][1]<<" , "<<tab[1][2]<<"|"<<endl;
cout<<"|"<<tab[2][0]<<" , "<<tab[2][1]<<" . "<<tab[2][2]<<"|"<<endl;
}
};
class punkt
{
public:
int x,y;
void ustaw(int a, int b)
{
x=a;
y=b;
}
void pokaz()
{
cout<<"["<<x<<"]["<<y<<"]"<<endl;
}
void mnozpkt(macierz m);
};
macierz::macierz(int z,int a,int b)
{
tab[0][0]=a;
tab[0][1]=0;
tab[0][2]=0;
tab[1][0]=0;
tab[1][1]=b;
tab[2][0]=0;
tab[2][1]=0;
tab[2][2]=1;
}
/*punkt macierz::mnozpkt(punkt p){
punkt tym;
tym.x=tab[0][0]*p.x+tab[0][1]*p.y+tab[0][2]*1;
return tym;
//cout<<tym.x;
}*/
void punkt::mnozpkt(macierz m){
x=(m.tab[0][0]*x)+(m.tab[1][1]*y)+(m.tab[2][2]*1);
}
int main(void)
{
int a,b;
punkt p1;
cout<<"Wprowadz x ";
cin>>a;
cout<<"Wprowadz y ";
cin>>b;
macierz m1(1,a,b);
m1.wys();
p1.ustaw(a,b);
p1.pokaz();
p1.mnozpkt(m1);
p1.pokaz();
m1.wys();
return 0;
}
Jak mam to zrobic aby dobre wyniki wychodzily???