Lesson 9.6. Exercises on C arrays

Exercises

Exercise 1

Write a function average() that receives 3 arrays as parameters. The function computes the individual averages of the first two arrays (one average for each row of the arrays). The averages are stored in the third array. Compute and display the average of arrays grades1 and grades2 :

grade[0]    = 10.10
grade[1]    = 11.25
grade[2]    = 14.25
grade[3]    = 9.90
grade[4]    = 11.60
grade[5]    = 11.05

Exercise 2

Write a function globalAverage() that receives an array as parameters and returns the mean of this array. Using the function, calculate and display the average of the array grades1 :

Average: 12.72

Exercise 3

Write a function void copy(const float src[], float dest[], int size); which receives 2 arrays as parameters. This function copies all the values of the array src into dest. With this function, copy the array grades1 into grades2. Check by displaying grades2 :

grade[0] = 10.20
grade[1] = 12.50
grade[2] = 18.50
grade[3] = 9.80
grade[4] = 13.20
grade[5] = 12.10

Exercise 4

Write a function int compare(const float t1[], const float t2[], int size); which receives 2 arrays as parameters. This function counts the number of elements with the same index and the same value in both arrays. Test the function with the following arrays:

  float grades1[NB_NOTES] = {10.2, 12.5, 18.5, 9.8, 13.2, 12.1};
  float grades2[NB_NOTES] = {15.7, 12.5, 15.3, 9.8, 10.8, 12.1};
There are 3 identical grades.

Exercise 5

Write a function equal() that receives 2 arrays as parameters. This function returns :

Before copy : arrays are different.
After copy  : the arrays are identical.

Exercise 6

Write a maxTab() function that receives an array and its size as parameters. The function returns the largest value of the array.

int maxTab(int tab[], int size);
The largest value of the array is: 98

Exercise 7

Write a function argmax() that receives an array and its size as parameters. The function returns the first index of the smallest element of the array.

int argmax(int tab[], int size);
The first index of the smallest element of the array is: 2

Exercise 8

Write a sort() function that receives an array and its size as parameters. The function sorts the array in ascending order.

void sort(int tab[], int size);

To do this exercise, you can use by the bubble sort, whose algorithm is presented on the page Wikipedia. Here is the result of the sort:

Initial array : 12 54  0 18  8 98  5 16 58  4 75  5 
Sorted array  :  0  4  5  5  8 12 16 18 54 58 75 98 

See also


Last update : 11/25/2022