Problem 1. This program will be graded based on whether the required functionality were implemented correctly instead of whether it produces the correct output, for the functionality part (80% of the grade).
Modify selection_sort.c so that it includes the following functions:
void selection_sort(int *a, int n);
int *find_largest(int *a, int n);
void swap(int *p, int *q);
selection_sort function: it should call find_largest function and swap function.
find_largest function: when passed an array of length n, the function will return a pointer to the array's largest element. The function should use pointer arithmetic - not subscripting - to visit array elements. In other words, eliminate the loop index variables and all use of the [] operator in the function.
swap function: when passed the addresses of two variables, the function should exchange the values of the variables:
swap(&i, &j); /* exchange values of i and j */
Your program will call find_largest function and swap function in selection_sort function.
Problem 2.
A vector is an ordered collection of values in mathematics. An array is a very straightforward way to implement a vector on a computer. Two vectors are multiplied on an entry-by-entry basis, e.g. (1, 2, 3) * (4, 5, 6) = (4, 10, 18).
Write a program that include the following functions. The functions should use pointer arithmetic (instead of array subscripting). In other words, eliminate the loop index variables and all use of the [] operator in the functions.
void multi_vec (int *v1, int *v2, int *v3, int n);
int comp_vec(int *v1, int *v2, int n);
The multi_vec function multiplies vectors v1 and v2 and stores the result in v3. n is the length of the vectors.
The comp_vec function compares v1 and v2, return 1 if vectors v1 and v2 are equal (their corresponding components are equal), and 0 otherwise. n is the length of the vectors.
In the main function, ask the user to enter the length of the vectors, declare two arrays with the length, read in the values for two vectors, and call the two functions to compute the multiplication and comparison of them. The main function should display the result.
Enter the length of the vectors: 5
Enter the first vector: 3 4 9 1 4
Enter the second vector: 5 7 2 6 8
Output:
The multiplication of the vectors is: 15 28 18 6 32
The vectors are not the same.