Write a program that creates (and stores) a 2-D array of 64 random integers (8 nows and 8 columns) between l and 10The program should then print out theelements of the array, as well as the element location (row and column) of the largest valueis) in the array Next rotate the array so that the rows become the columns and the columns become rows and store the rotated values in a second 2-D array. Print the rotated array, along with the location of the maximum valuels) Specifications: Use constants to define the number of rows and columns in your ay (RoWS and COLSI Use the srandO function to seed the random number generator after reading in a seed value. The rando function should be called multiple times to generate the integers-fill in the elements of the array row by row. Print the results with a width of S. Use the following function prototypes to help you program your solution void seedRNG (unsigned int seed) // Seeds the Random Number Generator with the "seed" value int randNum (vold) // Returns a random number between 1-100 void populateArray (int a [RONS] ICOLS1) // Populates an array with zandom values betveen 1-100 int findMax (int a [ROWS] [COLSD // Returns the maximum value of the array void printArray (int a IROWS] [COLSD // Prints the 2-D array void printMax (int a[ROWS1ICOLS).int max) // Prints the row, column location(s) of the maximum value(s) void rotateArray (int a[ROWS] ICOLS]. int b[ROWS1 [COLS]) // Rotates array all into bl1 / ROW positions in allli become column positions in bl COLUMN positions in all11 become row positions in b If you execute the program, the following information should be displayed main.o Enter a random seed: 34 59 69 567 39 90 68 75 56 99 55 45 10 59 56 79 62 45 28 1016 91 24 21 64 42 39 97 100 7 23 19 45 64 257 31 51 33 29 77 9063 85 20 76 81 100 85 892 64 87 5 25 38 57 8 Maximum Value at Element:3. Maxinum Value at Element:6,3 59 68 6 915 2064 69 75 7924 23 3376 87 5 56 62 21 19 2942