array is an array name. If you have an array name followed by [brackets], that means you are indexing the array. Here, you do not give an index (your brackets are empty)... so the compiler is complaining.
Since you do not want to pass a single element to the array, but rather want to pass a pointer to the entire array, you do not need brackets at all. Simply do this:
Few things.
First, you need to declare the function above int main(), if the function is located after main.
Second, you declared array[21] as a string, but are calling it in the function as a float.
Third, if you're trying to write into array[], you probably need to increase loop with a while(loop<21);, or a for loop.
What @whitenite1 said.
Also, you have an array of 21 elements (0 - 20), but you're trying to read off the end of the array with for(j=(i+1); j<22; j++)