У меня есть несколько элементов в векторном типе, которые читаются из cin, а затем я выполняю некоторые вычисления над вектором, и его порядок элементов изменяется. Проблема в том, что мне нужно распечатать позиции векторных элементов после расчетов. Я не знаю, как это хорошо объяснить, поэтому приведу пример:
10 1 100 1000
и 10 - 1-й элемент, 1 - 2-й, 100 - 3-й и т. Д. После вычислений вектор меняется на:
100 10 1 1000
поэтому я должен напечатать
3 1 2 4
потому что 100 является третьим элементом ввода, 10 является первым и т. Д. И т. Д.
Я попытался с массивом [1000] (потому что на входе нет чисел больше 1000), но он не будет работать, потому что может быть несколько чисел с одинаковым значением, например:
10 10 10 100
и вывод может быть 1 2 3 4
или 2 3 1 4
или 3 1 2 4
и т. Д., Но здесь мне нужно вывести 1 2 3 4
, потому что это «самый маленький».
Я пытался с массивом f[1001]
и f[10] = 1
, f[100] = 2
, f[1] = 3
- если числа с входа 10 100 1
. Но если есть несколько чисел с одинаковым значением, например 10 10 100
, моя идея не работает. Пожалуйста, помогите мне любым возможным способом.