I'd suggest buying it.
You're not using any print statements with your array. Create a loop to display its elements.
Also, your code is overly complicated. Since you know the stopping value "maxElements", why not loop around that number of times while calling the pow function?
Why are there unused local variables in the function power?
Also, bear in mind that your function is designed to take two arguments, yet you only supplied one in the function call.
Make a conscious effort and post something you're having difficulties with.
You can create an array of structs that can hold those three pieces of data. Afterwards, sorting based on the hours can be done, starting with those from hour 0 - 23.
As mentioned, you were trying to assign an integer to a pointer rather than dereferencing the pointer to store the value.