Remplissage d'un tableau avec des nombres aléatoires

Actuellement, je suis en train de remplir un tableau de taille num avec des valeurs aléatoires. Pour ce faire, j'ai besoin de créer deux fonctions:

1: Écrire une fonction (*createdata) qui alloue un tableau dynamique de num double des valeurs, de l'initialisation des valeurs à 0,0.

2: Écrire un différents fonction (gendata) qui permettra de remplir un tableau de valeurs doubles avec des valeurs aléatoires générées à l'aide de la fonction rand ().

Voici ma tentative d'écriture de la façon dont les fonctions opèrent (en dehors de la fonction main() ):

double *createdata(int num)
  {
         int i = 0;

         double *ptr;

         ptr = (double *)malloc(sizeof(double)*num);     

         if(ptr != NULL)
         {
           for(i = 0; i < num; i++)
           {
                 ptr[i] = 0.0;       
           }
         } 
  }  

double gendata(int num)
  {

         createdata(num); 

         int j = 0;

         for(j = 0; j < num; j++)
           {
                 ptr[j] = rand();       
           }               
  }

Cependant, je sais qu'il y a certainement quelque chose de mal avec l'au-delà.

Ce que je voudrais, c'est qu'une fois que j'ai appelé deux fonctions principales, je vais avoir généré un tableau de taille num qui est rempli avec des nombres aléatoires.

  • Un petit indice: il n'y a pas de return dans l'un de vos fonctions.
  • Si j'ajoute de retour(ptr) à la fin de mon *createdata fonction que faire l'affaire?
  • Votre gendata() fonction ne correspond pas à la spécification de remplir un tableau de double avec des valeurs aléatoires; il correspond à la spécification de générer et de remplir un tableau de double avec des valeurs aléatoires. Vous pouvez réviser le cahier des charges ou le code; dans l'ensemble, la révision du code sera plus utile à la fonction. Ensuite, vous n'avez pas besoin renvoyer rien de void gendata(double *array, int num).
InformationsquelleAutor | 2012-12-08