Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250

    [c++]numeri casuali sempre diversi...controllo codice..

    Sto scrivendo qua perchè voglio farvi controllare il mio codice che ho scritto per generare numeri casuali tutti diversi fra loro...il codice funziona,nel senso che quando vado ad eseguire il programma i numeri risultano tutti diversi...

    Ma non voglio illudermi perchè potrebbe trattarsi di un caso che i numeri non vengano mai ripetuti...insomma..non ci credo che ce l'abbia fatta

    ecco il codice:

    codice:
    #include <cstdlib>
    #include <iostream>
    
    #include<time.h>
    
    using namespace std;
    
    int main()
    {
      int vettore[10];
      srand(time(NULL));
      for (int i=1;i<11;i++)
      {
      int n=0;
      n=rand()%90+1;
      vettore[i]=n;
      if (n==vettore[i])
        vettore[i]=rand()%90+1;
        cout<<vettore[i]<<endl;
      }
      
      cout<<"Premi un tasto per continuare...";
      getchar();
    }
    Scusate per la banalità del codice ma sono proprio uno alle prime armi... ,anzi...per dirvela tutta sono un '95 .

    Scusate ancora se vi tratto come "maestri personali"

    p.s. Ulteriori migliorie del codice sono ben accettate...

  2. #2
    codice:
    for (int i=1;i<11;i++)
    Ricordati che gli indici partono dal nº 0 fino a n-1.
    Quindi se vettore lo ha dichiarato con 10 elementi
    codice:
    for (int i=0;i<10;i++)

  3. #3
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Forse controllerei tutti i valori inseriti per testare eventuali numeri uguali.
    Per gli Spartani e Sparta usa spartan Il mio github

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    per simo_us:
    codice:
    for (int i=1;i<11;i++)
    Infatti me ne ero accorto...ma era troppo tarti per modificaare il messaggio...in ogni modo grazie per le risposte...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Abuso della vostra infinita gentilezza per farvi un altra domanda...

    codice:
    #include <cstdlib>
    #include <iostream>
    #include <string>
    #include <time.h>
    
    using namespace std;
    
    int main()
    {
    
        //gioco pari o dispari...
        srand (time(NULL));
        system("color 0f");
        cout<<"Questo è il gioco del pari o dispari..."<<endl;
        getchar();
        system("Cls");
        
        string scelta;//scelta se voglio essere pari o dispari
        
        int x=0;//numero che dovrò 'buttare'
        int somma=0;/*somma dei numeri x e n...n lo inizializzo sotto...ed è il numero generato casualmente da computer*/
        
        cout<<"Vuoi essere pari o dispari?"<<endl;
        cin>>scelta;
        
        cout<<"Butta un numero"<<endl;
        cin>>x;
        
        system("Cls");
        
        int n=0;
        
        n= rand()%10;
        somma=n+x;
        
        cout<<"Il tuo numero: "<<x<<endl;
        cout<<"Il numero del computer: "<<n<<endl;
        cout<<"La loro somma e' "<<somma;
        
        if ((scelta = "pari" && somma%2==0) || (scelta == "dispari" && somma % 2==1)) 
          cout<<"Complimenti campione...hai vinto..."<<endl;
       
        else
          cout<<"Mi dispiace...il banco vince sempre...";
          
        getchar();
        system("Cls");
        
        system("pause");
    }
    So che non si dovrebbe usare la funzione system (e già mi è stato detto)...ma solo in questa occasione...

    Mi trova un errore che dice:
    codice:
    0))' to 'bool'
    Potete aiutarmi a risolvere???

    Grazie di cuore...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In questa riga

    if ((scelta = "pari" && somma%2==0) || (scelta == "dispari" && somma % 2==1))

    hai utilizzato solo = invece di ==
    .

    P.S. Per il futuro ... un problema -> un thread ... non si discute di quello che vuoi in un solo thread ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Comunque ti consiglio di rivedere la logica del tuo primo programma perché non fa quello che deve fare... tanto per darti un indizio, rivedi queste righe

    codice:
    vettore[i]=n;
    if (n==vettore[i])
    ...
    every day above ground is a good one

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Ah...ok...scusate...credevo di poterne approffittare in questa discussione...non lo sapevo,ma adesso che lo so,non accadrà +

    Ok,ricontrollerò il codice...

  9. #9
    Originariamente inviato da oregon
    In questa riga

    if ((scelta = "pari" && somma%2==0) || (scelta == "dispari" && somma % 2==1))

    hai utilizzato solo = invece di ==
    .

    P.S. Per il futuro ... un problema -> un thread ... non si discute di quello che vuoi in un solo thread ...
    eccone un altro... ma lo volete capire che mettendo nei confronti la costante a sx quest'errore viene eliminato per sempre con qualunque linguaggio?
    Perché insistete, anche nell'insegnamento, a mettere la costante a destra? a quale pro?
    ;-)

    http://www.isidoroghezzi.net/assegna...r_sbaglio.html

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Forse per insegnare ad "accendere il cervello" quando si scrivono i programmi, piuttosto che individuare un qualsiasi modo per eliminare la necessità di fare attenzione ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.