Gere 8 números aleatórios únicos de 0 a 7

Eu estou fazendo um script simples que gera 8 valores aleatórios de 0 a 7 e os armazena em uma matriz chamadarandom_numbers.

Esta é minha tentativa:

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;
}

Isso me dá valores repetidos. eu gostaria de terrandom_numbers preenchido de valores aleatórios de 0 a 7, mas sem números repetidos.

Como eu posso fazer isso?

questionAnswers(4)

yourAnswerToTheQuestion