/**************************/ /* CPE 101 Fall 2008 */ /* Alex Dekhtyar */ /* */ /* Arrays. Example 3 */ /**************************/ #include #include /* 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; }