Genera 8 números aleatorios únicos de 0 a 7

Estoy creando un script simple que genera 8 valores aleatorios de 0 a 7 y los almacena en una matriz llamadarandom_numbers.

Este es mi intento:

int main(int argc, char** argv) {

    int random_numbers[8];
    srand((unsigned)time(NULL));
    for (int i = 0; i < 8; i++) {
        random_numbers[i] = 1+ rand() % 8;
        cout << random_numbers[i] << endl;
    }
    return 0;
}

Esto me da valores repetidos. me gustaría tenerrandom_numbers Lleno de valores aleatorios de 0 a 7, pero sin ningún número repetido.

¿Cómo puedo hacer eso?

Respuestas a la pregunta(4)

Su respuesta a la pregunta