Генерация псевдослучаных неповторяющихся чисел в с++
Добрый день, уважаемые коллеги!
У в ходе выполнения одной работы у меня возникла следующая проблема. Мне надо сгенерировать массив псевдослучайных чисел от 1 до 16. При этом надо сделать его в двойном цикле: в первом генерирую число, во втором сравниваю это число с уже находящимися. Если они не совпадают, тогда вставляю в массив, ежели нет, тогда пытаюсь сгенерировать новое. Вопрос состоит в следующем: в моем коде я просто выхожу из второго цикла, а надо сделать так, чтобы счетчик i++ не увеличился и число не приравнивалось. Подскажите, как это лучше всего сделать?
int i;
system("CLS");
srand( time( NULL ) );
int a[16];
for (i=0;i