Write a C program that implements a simple array-based insertion sort. This problem is like problem 3 below but much simpler (and is therefore a good starting point for solving problem 3). Your program must read in the integers from the accompanying data file and use insertion sort to store the sorted data into an array. If you must insert an element between two existing values, then you must also move (or shift) the elements all elements with an index > = the index where you wish to insert the new element. Note that you can find the insertion sort algorithm in the textbook and the slides. ADDITIONAL REQUIREMENT: Your program must output the total notequalto of assignments performed in your sorting function from insertion and array element shifting (don\'t worry about assignments like control variable updates in loops, etc). This notequalto will be used in problem notequalto 4 below. Include this notequalto in the written document portion of your assignment submission. It can be something simple like: notequalto of sorting assignments = Solution #include <stdio.h> int main() { int a[10], i, j, k; FILE *fp; fp = fopen(\"f://numbers.txt\", \"r\"); //assuming file contains 10 numbers; for (i = 0; i < 10; i++) { fscanf(fp, \"%d\", &a[i]); } fclose(fp); printf(\"unsorted elements are: \"); for (i = 0; i < 10; i++) { printf(\"%d\\t\", a[i]); } //sorting for (j = 1; j < 10; j++) { k = a[j]; i = j - 1; //shifting while (i >= 0 && k < a[i]) { a[i+1]=a[i]; i = i - 1; } //insertion a[i + 1] = k; } printf(\"\ sorted elements are: \"); for (i = 0; i < 10; i++) { printf(\"%d\\t\", a[i]); } return 0; } output: unsorted elements are: 23 45 12 11 6 89 24 67 9 37 sorted elements are: 6 9 11 12 23 24 37 45 67 89 RUN SUCCESSFUL (total time: 523ms) numbers.txt 23 45 12 11 6 89 24 67 9 37 .