I was told on here to use vectors instead of arrays for this particular solution ( My original solution using to dynamically allocate arrays) my problem is I don't really understand vectors, my book only covers a small section. So, maybe I am doing something wrong? I'm just trying to learn a different way in solving it with vectors. So, when I ask is it possible to dynamically allocate a vector. What I mean is it legal to do this  std::vector<int*> vect= nullptr;, if not why? Also it would be really helpful to see an example how to modify my original solution with vectors.  I'm a beginner just trying to learn from my mistakes.
#include <iostream>
#include <vector>
void sortAscendingOrder(int*, int );
void LowestTestScore(int*, int);
void calculatesAverage(int*,int);
int main()
{
    std::vector<int*> vect= nullptr;
    int input;
    std::cout << "Enter the number of testscores you want to enter." <<std::endl;
    std::cin >> input;
    vect = new int[input];
    for(int count =0; count < input; count++)
    {
        std::cout << "Enter the test score" << (count +1) <<":" <<std::endl;
        std::cin >> vect[count] ;
        while( vect[count] < 0)
        {
            std::cout <<"You enter a negative number. Please enter a postive number." <<std::endl;
            std::cin >> vect[count];
        }
    }
    sortAscendingOrder(vect,input);
    for(int count =0; count < input;count++)
    {
        std::cout << "\n" <<vect[count];
        std::cout << std::endl;
    }
    LowestTestScore(vect,input);
    calculatesAverage(vect,input);
    return 0;
}
void sortAscendingOrder(int* input,int size)
{
    int startScan,minIndex,minValue;
    for(startScan =0; startScan < (size-1);startScan++)
    {
        minIndex = startScan;
        minValue = input[startScan];
        for(int index = startScan+1;index<size;index++)
        {
            if(input[index] < minValue)
            {
                minValue = input[index];
                minIndex = index;
            }
        }
        input[minIndex]=input[startScan];
        input[startScan]=minValue;
    }
}
void LowestTestScore(int* input, int size)
{
    int count =0;
    int* lowest = nullptr;
    lowest = input;
    for(count =1; count <size;count++)
    {
        if(input[count] < lowest[0])
        {
            lowest[0] = input[count];
        }
    }
    std::cout << "Lowest score" << *lowest;
}
void calculatesAverage(int* input, int size)
{
    int total = 0;
    int average =0;
    for(int count = 0; count < size; count++)
    {
        total += input[count];
    }
    average =(total/size-1);
    std::cout << "Your average is" << average;
}
 
     
    