C/C++

Помогите дописать код с массивом?

Мне надо удалить все элементы стоящие до максимального, помогите дописать коl, я только нашел максимальный, а как дальше не знаю. Помогите пожалуйста! Вот мой код:

#include
#include
using namespace std;

int main()
{
setlocale(LC_ALL, "Rus");
int arr[] { 15, 16, 2, 283, 10, 4, 144, 289, 14, 15 } ;
int a;
int max = arr[0];
for (int i = 0; i < 10; ++i)
{
if (arr[i] > max) max = arr[i];
}
a = max;

cout << "Максимальное значения массива: " << a << endl;

}
#include <iostream>
#include <clocale>
using namespace std;

int main()
{
setlocale(LC_ALL, "Rus");
int arr[] { 15, 16, 2, 283, 10, 4, 144, 289, 14, 15 } ;
int a;
int i_max = 0;
int i;
for (i = 1; i < 10; ++i)
{
if (arr[i] > arr[i_max]) i_max = i;
}
a = arr[i_max];

cout << "Максимальное значения массива: " << a << endl;

for(int x = 0, y = i_max; y < i; x++, y++)
{
arr[x] = arr[y];
}
i -= i_max;

// печать массива
for(int x = 0; x < i; x++)
{
cout << arr[x] << '\t';
}
cout << endl;

return 0;
}
ЕП
Евген Попов
76 407
Лучший ответ
Владимир Колотов А можете помочь написать когда для динамического массива: Задан массив целых чисел. Удалить все элементы, стоящие
до максимального
#include <iostream>
#include <iomanip>
using namespace std;
void shift_left(int* box, size_t n) {
int save = box[0];
for (auto i = 1U; i < n; ++i) box[i - 1U] = box[i];
box[n - 1U] = save;
}
void shift_left(int* box, size_t n, unsigned x) {
for (auto i = 0U; i < x; ++i) shift_left(box, n);
}
size_t index_max_element(int* box, size_t n) {
auto index_max = 0U;
for (auto i = 1U; i < n; ++i) {
if (box[i] > box[index_max]) {
index_max = i;
}
}
return index_max;
}
int main() {
int arr[]{ 15, 16, 2, 283, 10, 4, 144, 289, 14, 15 };
auto length = size(arr);
for (auto i = 0U; i < length; ++i) cout << setw(4) << arr[i];
puts("");
auto index_max = index_max_element(arr, length);
shift_left(arr, length, index_max);
length -= index_max;
for (auto i = 0U; i < length; ++i) cout << setw(4) << arr[i];
puts("");
system("pause > nul");
}

P.S. Трюк со сдвигом.
Саша Симбиров
Саша Симбиров
99 918