Esclusione di numeri casuali già creati

di il
2 risposte

Esclusione di numeri casuali già creati

Salve a tutti sono nuovo del forum e volevo chiedere un consiglio... Devo fare un esercizio per scuola in cui, tra le altre cose, devo far comparire in ordine casuale le province venete, l'utente deve indovinare la sigla (o viceversa) e poi devo mostrare la percentuale delle risposte corrette... Sono riuscito a fare tutto ma ho un problema... Creo numeri casuali da 1 a 7 e li abbino alle province, in modo che a ogni numero corrisponde una provincia, ma dovrebbero comparire tutte una sola volta (ma in modo casuale), invece i numeri generati si ripetono... Come posso fare per escludere i numeri già usciti?? Oppure per risolvere il problema?? A scuola siamo arrivati fino al for (escluso)... Non abbiamo fatto gli array, le procedure e ste cose qua, quindi non posso usarle... Grazie a tutti...
P.S.:Se può servire questo è uno dei due codici da correggere... Non metto tutto l'esercizio perché sono 230 righe e sarebbe troppo lungo... Se nn si capisce qualcosa chiedete pure...

if(ru=='a') {//inizio modalità a4
                    ke=0;
                    k=0;
                    while(k<=6){//inizio ciclo a4
                        nc=(rand()%(7-1+1))+1;
                        npos=(nc-1)*7;
                        pm=sp.substr(npos, 7);
                        re=ss.substr(npos, 2);
                        cout<<pm<<endl<<"La sigla corrispondente e': ";
                        cin>>rd;         
                        if(rd==re)
                            ke=ke+1;
                        k=k+1;
                                }//fine ciclo a4
                    pe=(ke*100)/7;
                    cout<<"Le risposte esatte sono il "<<pe<<"%";
                            }//fine modalità a4

2 Risposte

  • Re: Esclusione di numeri casuali già creati

    Vedo che hai imparato le stringhe. Dove li inserisci tutte le provinice? Non usi un vettore?
  • Re: Esclusione di numeri casuali già creati

    No...
    
        const string sp="Padova Rovigo VicenzaBellunoVerona VeneziaTreviso";
        const string ss="PD     RO     VI     BL     VR     VE     TV     ";
    
    Ho inserito i nomi delle province e le sigle in due stringhe usando gli spazi per portare ogni nome a 7 cararreti, così quando uso substr le posizioni sono le stesse per tutte e due le stringhe...
Devi accedere o registrarti per scrivere nel forum
2 risposte