/**************************/
/* CPE 101 Fall 2008      */
/* Alex Dekhtyar          */
/*                        */
/* Arrays. Example 3      */
/**************************/

#include <stdio.h>
#include <math.h>

/* use of arrays with functions */

#define DIM 2

float distanceFromOrigin(int a, int b); /* will use array elements */

float distance(int a[], int b[]); /* uses arrays, no side effects */

int diffVector(int a[], int b[], int diff[]); /* uses arrays, side effects */

int main() {

int vectorA[DIM], vectorB[DIM], vectorDiff[DIM]; /* array declarations */



vectorA[0]= 5;
vectorA[1]= 4;

vectorB[0]= 2;
vectorB[1]= 3;

printf("distance from (%d, %d) to origin = %f\n", vectorA[0], vectorA[1],
             distanceFromOrigin(vectorA[0],vectorA[1]));

printf("distance between vectors = %f\n", distance(vectorA, vectorB));

diffVector(vectorA, vectorB, vectorDiff);

printf("(%d,%d)-(%d,%d) = (%d,%d)\n", vectorA[0],vectorA[1],
                                      vectorB[0],vectorB[1],
                                      vectorDiff[0], vectorDiff[1]);






return 0;
}

float distanceFromOrigin(int a, int b){ /* will use array elements */

return (sqrt(a*a+b*b));

} 


float distance(int a[], int b[]){ /* uses arrays, no side effects */
 return (sqrt((a[1]-b[1])*(a[1]-b[1])+(a[0]-b[0])*(a[0]-b[0])));

}


int diffVector(int a[], int b[], int diff[]){ /* uses arrays, side effects */
 diff[0] = a[0]-b[0];
 diff[1] = a[1]-b[1];

 return 0;
}