Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    58

    [C] Estrarre numeri casuali senza ripetizioni

    Volevo fare un programma che simula la lotteria e che quindi deve estrarre dei numeri casuali senza però che si ripetano. Ho scritto un codice che però a quanto pare non funziona, perché mi restituisce lo stesso numeri con qualche ripetizione.
    Ho provato a cercare sul web ma non ho trovato niente di soffisfacente

    Mi aiutate a capire dove ho sbagliato?

    codice:
    #include <stdio.h>#include <stdlib.h>
    #include <time.h>
    
    
    #define n_max 10
    #define n_min 1
    
    
    void estrazione(int[]);
    
    
    int main(){
      int i;
      srand48(time(0));
      int num[6] = {0};
      estrazione(num);
      for(i = 0; i < 6; i++){
        printf("%d\n", num[i]);
      }
    }//main
    
    
    void estrazione(int num[]){
      int *P_num;
      P_num = num;
      int i,j;
      int ok = 0;
     
      for(i = 0; i < 6; i++){
        ok = 1;
        while (ok == 1) {
          *(P_num + i) = n_min + (double)lrand48() / RAND_MAX * n_max;
          for(j = 0; j < i; j++){
        if(*(P_num + j) == *(P_num + i)){
          ok = 1;
          }  //fine if
        }//fine secondo for
          ok = 0;
       }// fine while
     } //fine primo for
      
    }//estrazione
    Grazie in anticipo
    Ultima modifica di sheldon; 27-01-2015 a 14:21

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.