jeudi 22 novembre 2018

Populate and print array with random numbers using C

I'm trying to write a program that will populate an array of 100 elements with numbers between 1 and 22, and then print the array in a 20 x 5 table. I was able to populate the array and print it, but can only get it to work with numbers 1-100, how can I change it to only do numbers 1-22?

#include <stdio.h>
#include <stdlib.h>

#define ARY_SIZE 100

void random (int randNos[]);
void printArray (int data[], int size, int lineSize);

int main(void)
{
    int randNos [ARY_SIZE];

    random(randNos);
    printArray(randNos, ARY_SIZE, 20);

    return 0;
} 

void random (int randNos[])
{

   int oneRandNo;
   int haveRand[ARY_SIZE] = {0};

   for (int i = 0; i < ARY_SIZE; i++)
   {
      do
      {
        oneRandNo = rand() % ARY_SIZE;
      } while (haveRand[oneRandNo] == 1);
      haveRand[oneRandNo] = 1;
      randNos[i] = oneRandNo;
   }
   return;
}

void printArray (int data[], int size, int lineSize)
{

    int numPrinted = 0;

    printf("\n");

    for (int i = 0; i < size; i++)
    {
        numPrinted++;
        printf("%2d ", data[i]);
        if (numPrinted >= lineSize)
        {
         printf("\n");
         numPrinted = 0;
        }
   }
   printf("\n");
   return;

}




Aucun commentaire:

Enregistrer un commentaire