Optimization
I got a homework assignment, I need to fill an array with no repeated random integers between 0 and the max-size of the array (e.g. [3, 1, 2, 0] (size 4), [1, 3, 2] (size 3)) I've done this before, but now I got to do it without the [i] index for the array, I need to do it with pointers and I did it, but I wonder if there is a better way to do it, more optimized or something like that, my code is:
void fillingArray (int *arr) {
    int *firstElementOfArray = arr;
    int *lastIndexedElement = arr;
    int randomNumber;
    bool repeated;
    for (int i = 0; i < MAX_SIZE; ++i) {
        do {
            randomNumber = randNumber(MAX_SIZE);
            repeated = false;
            for (int *j = firstElementOfArray; j < lastIndexedElement; ++j) {
                if (*j == randomNumber) {
                    repeated = true;
                    break;
                }
            }
        } while (repeated);
        *arr = randomNumber;
        arr++;
        lastIndexedElement++;
    }
}
