Witam , potrzebuje zrobić generator punktów 3D w strukturze które potem będzie można sortować względem punktu 0,0,0
od najbliżej leżącego do najdalej . Poradzono mi żeby zrobić funkcję sprawdzającą położenie 2 punktów, problem polega na tym że nie zupełnie wiem jak to wszystko połączyć
Napisałem coś takiego:
struct Wektory_3D
{
int x;
int y;
int z;
}
bool czy_mniejsze(Wektory_3D w1,Wektory_3D w2)
{
double odl1=sqrt(static_cast<float>( (w1.x)*(w1.x)+(w1.y)*(w1.y)+(w1.z)*(w1.z)));
double odl2=sqrt(static_cast<float>( (w2.x)*(w2.x)+(w2.y)*(w2.y)+(w2.z)*(w2.z)));
if(odl1>odl2)
return true;
else
return false;
}
void BubbleSort(Wektory_3D *tab, int n)
{
int zmiana;
do
{
zmiana=0;
for(int i=0; i<n;i++)
{
if(czy_mniejsze(w1,w2))
{
zmiana++;
struct Wektory_3D schowek=w1;
w1=w2;
w2=schowek;
}
}
}
while(zmiana!=0);
}
int _tmain(int argc, _TCHAR* argv[])
{
srand(time(NULL));
int i;
int n=10;
Wektory_3D w[1000];
for(i=0;i<n;i++)
{
w[i].x=rand()%10+1;
w[i].y=rand()%10+1;
w[i].z=rand()%10+1;
cout<<i<<" ";
cout<<w[i].x<<","<<w[i].y<<","<<w[i].z<<endl;
}
Jak by ktoś wiedział jak to wszystko ogarnąc proszę o podpowiedź:)