PDA

Visualizza la versione completa : [C++] estrazione casuale ripetuta


Luke96
25-10-2017, 22:38
Ciao a tutti, vi ringrazio per l' attenzione. Il mio dilemma dovuto al fatto che ho una lista di numeri e una di stringhe mescolate da abbinare, generata da indici casuali il problema che al momento della stampa ottengo una stampa doppia. Penso che il problema sia dato dalla lista delle stringhe.
Questo il codice:

Cosi definita una carta:
struct carta_mazzo {


int valore;
string seme;
};

queste sono le funzioni per mescolare le due liste:

void mescolaValori(int *array, size_t n) {
if (n > 1)
{
size_t i;
for (i = 0; i < n - 1; i++)
{
size_t j = i + rand() / (RAND_MAX / (n - i) + 1);
int t = array[j];
array[j] = array[i];
array[i] = t;
}
}
//cout << "CARTE MESCOLATE" << endl;
}


void mescolaSemi(string*array, size_t n) { // nome puntatore di array di indici, dim array
if (n > 1)
{
size_t i;
for (i = 0; i < n - 1; i++)
{
size_t j = i + rand() / (RAND_MAX / (n - i) + 1);
string t = array[j];
array[j] = array[i];
array[i] = t;
}
}
//cout << "CARTE MESCOLATE" << endl;
}

e cosi faccio l'assegnamento:

vector <carta_mazzo> mazzo_mescolato(NUM_CARTE); // CREA IL VETTORE DI TIPO CARTA MAZZO, ALL INIZIO VUOTO


//ASSEGNAMO I VALORI AL MAZZO MESCOLATO
for (i = 0; i < NUM_CARTE; i++) {
mazzo_mescolato[i].valore = indiciValori_mescolati[i];
mazzo_mescolato[i].seme = indiciSemi_mescolati[i];
}

Ringrazio chi possa aiutarmi o darmi qualche consiglio:smack:

Loading