Quote Originariamente inviata da minomic Visualizza il messaggio
Secondo me c'è qualcosa che non va... Con questo codice non ottengo ripetizioni:

codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define MAX 10

int main() {
    srand(time(NULL));
    int rimanenti = MAX;
    int da_estrarre[MAX];
    int i, index;
    for(i=0; i<MAX; ++i) {
        da_estrarre[i] = i+1;
    }

    for(i=0; i<MAX; ++i) {
        index = rand() % rimanenti;
        printf("Estratto: %d\n", da_estrarre[index]);
        da_estrarre[index] = da_estrarre[rimanenti-1];
        rimanenti--;
    }

    return 0;
}
Così funziona anche a me!
Non avevo considerato di usare il pre-incremento per i