Удалить из массива максимальный элемент

Суть в том, что необходимо удалить из массива максимальный элемент. Например, есть массив [1,2,3,4,2,1,3,4]; на выходе должно получится [1,2,3,2,1,3]. Найти максимум я смог, однако как его удалить из массива понять не могу (-_-)

int main(){
    setlocale(0, "");
    srand(time(0));
    
    int size = 10;
    int *arr = new int [size];

    cout << "Массив: ";
    for (int i = 0; i < size; i++) {
        arr[i] = rand() % 10;
        cout << arr[i] << " ";
    }

    int max = arr[0];
    for (int i = 0; i < size; i++) {
        if (max < arr[i]) {
            max = arr[i];
        }
    }
    
    system("pause");
    return 0;
}

Ответы (1 шт):

Автор решения: Zhihar

что мешает собрать новый массив и заменить им старый?

int *arr_new = new int [size];

int index_new = 0
for (int index = 0; index < size; index++)
    if (arr[index] != max)
        arr_new[index_new++] = arr[index];

size = index_new;

delete [] arr;
arr = arr_new;
→ Ссылка