
Patrick B. answered 07/01/21
Math and computer tutor/teacher
#include <math.h>
#include <stdio.h>
#define NORTH (1)
#define NE (2)
#define EAST (3)
#define SE (4)
#define SOUTH (5)
#define SW (6)
#define WEST (7)
#define NW (8)
/**********************************
NW N N NE
W NW NE E
W SW SE E
SW S S SE
************************************/
double DistanceFormula( double x1, double y1, double x2, double y2)
{
return(
sqrt(
(x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)
)
);
}
int NearestNeighbor(double rssX, double rssY, double RSS[][4])
{
int iReturn=0;
double minDistance=9999;
double dDistance;
double X1,Y1;
//North (0,1) - (0,2)
X1 = RSS[0][1]; Y1 = RSS[0][2];
dDistance = DistanceFormula(X1,Y1,rssX,rssY);
if (dDistance<minDistance) { iReturn = NORTH; }
//NE (1,2) - (0,3)
X1 = RSS[1][2]; Y1 = RSS[0][3];
dDistance = DistanceFormula(X1,Y1,rssX,rssY);
if (dDistance<minDistance) { iReturn = NE; }
//EAST (1,3) - (2,3)
X1 = RSS[1][3]; Y1 = RSS[2][3];
dDistance = DistanceFormula(X1,Y1,rssX,rssY);
if (dDistance<minDistance) { iReturn = EAST; }
//SE (2,2) - (3,3)
X1 = RSS[2][2]; Y1 = RSS[3][3];
dDistance = DistanceFormula(X1,Y1,rssX,rssY);
if (dDistance<minDistance) { iReturn = SE; }
//SOUTH (3,1) - (3,2)
X1 = RSS[3][1]; Y1 = RSS[3][2];
dDistance = DistanceFormula(X1,Y1,rssX,rssY);
if (dDistance<minDistance) { iReturn = SOUTH; }
//SW (2,1) - (3,0)
X1 = RSS[2][1]; Y1 = RSS[3][0];
dDistance = DistanceFormula(X1,Y1,rssX,rssY);
if (dDistance<minDistance) { iReturn = SW; }
//WEST (1,0) - (2,0)
X1 = RSS[1][0]; Y1 = RSS[2][0];
dDistance = DistanceFormula(X1,Y1,rssX,rssY);
if (dDistance<minDistance) { iReturn = WEST; }
//NW (0,0) - (1,1)
X1 = RSS[0][0]; Y1 = RSS[1][1];
dDistance = DistanceFormula(X1,Y1,rssX,rssY);
if (dDistance<minDistance) { iReturn = NW; }
return(iReturn);
}
Go()
{
double RSS[][4] = { {10.35, 8.27, 12.45, 6.3},
{4.713 , 2.243, 6.67, 10.33},
{7.05, 7.24, 7.53, 8.21},
{7.11, 3.33, 5.34, 2.16}
};
double rssX=5, rssY=6;
int iReturn = NearestNeighbor(rssX,rssY,RSS);
printf("%d\n",iReturn);
}
main() { Go();}
Clarissa M.
I don't see the 2 classes & also the interface, which I specified above.07/01/21