Запомнить индекс массива после сортировки

Подскажите, какие есть способы по запоминанию индекса значения после перестановки? Использовать двумерный массив или как-то проще можно?

Значения необходимо отсортировать в определённой последовательности, но при этом нужно отобразить индексы сохраненный после перестановки.

Можно через двумерный массив, можно сделать массив структур, которые будут хранить первоначальное значение индексов.

Пример со структурой.

#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;

struct sorted {
    int val; // значение
    int i; // индекс
};

int main() 
{
    sorted arr[100]; // создаем массив из 100 элементов
    srand(time(NULL));
    for (int i = 0; i < 100; ++i) { // заполняем
        arr[i].val = rand();// значение элемента
        arr[i].i = i; // первоначальное значение индекса
    }
    return 0;
}

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.