Удалить из массива максимальный элемент
Суть в том, что необходимо удалить из массива максимальный элемент. Например, есть массив [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;