Как обратиться к k элементу в set()?

Мне нужно присвоить i элементу массива k элемент множества, однако, как я понял, к элементу множества нельзя обратиться по индексу, тогда как мне обратиться к нему? Вот фрагмент кода как я пытался это сделать:

for (int i = 0; i < n; ++i) //Перебираю массив
{

    for (int j = 0; j < n; ++i)
    {

        if (Matrix[i][j] == 0) //Если элемент массива Matrix равен 0, то этот элемент надо заменить на k элемент из множества Vocabulary
        {

            Matrix[i][j] = Vocabulary[k];
            ++k;

        }

    }

}

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

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

Судя по коду, вы хотите последовательно обращаться к элементам set? делайте это через итераторы...

auto v = Vocabulary.begin();
....
    Matrix[i][j] = *v++;

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

→ Ссылка