Solved

A dice that simutales 10 dice ..save them in an array element and sums the total nr of all of them?

Posted on 2003-10-24
7
333 Views
Last Modified: 2010-04-15
help me finish my program...A dice that simutales 10 dice ..save them in an array element and sums the total nr of all of them?

i have done this soo far!!

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

int get_max(int a[], int x);
int summera(void);

int main(void)
{
      int i;
      int arr1;
      int nr;
      
      for (i = 0; i > 10; i++){
      tal = rand()%6 + 1;
      
      printf("dice nr %d\n",nr);
      
      
      

 return (0);
}

int get_max(int a[], int x)
{

        int i,
        cur_large;

        cur_large = a[0];



   for (i = 1; i < x; i++)
        {
                if (a [i] > cur_large)
                {
                        cur_large = a[i];
                }

        }
        return cur_large;



int summera(int arr[],int size)
{
      int summa;


   for (i = 0; i < size; i++)
   {
      summa = summa + arr[i];
   }

   printf ("Summan : %d\n", summa);
0
Comment
Question by:bosselini
7 Comments
 
LVL 45

Expert Comment

by:sunnycoder
ID: 9613126
you are not calling any functions though you have defined
getmax and summera
perhaps this is what you want

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

int get_max(int a[], int x);
int summera(void);

int main(void)
{
    int i;
    int arr1;
    int nr;
   
     for (i = 0; i > 10; i++){
    tal = rand()%6 + 1;
   
     printf("dice nr %d\n",nr);
    }  ======== close the for loop
     
    printf ("max value is %d\n", get_max (arr1, 10) );
    printf ("total sum is %d\n", summera (arr1, 10) );

 return (0);
}

int get_max(int a[], int x)
{

       int i,
       cur_large;

       cur_large = a[0];



  for (i = 1; i < x; i++)
       {
               if (a [i] > cur_large)
               {
                       cur_large = a[i];
               }

       }
       return cur_large;
} =========== this brace was missing


int summera(int arr[],int size)
{
    int summa=0; ===== initialize to 0


  for (i = 0; i < size; i++)
  {
     summa = summa + arr[i];
  }

  printf ("Summan : %d\n", summa);
} ============== missing brace
0
 
LVL 4

Expert Comment

by:n_fortynine
ID: 9615080
>>   for (i = 0; i > 10; i++){

You meant i < 10 :D
0
 
LVL 1

Expert Comment

by:osp70
ID: 9616007
If you can get the above code to compile let me know.  


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

int get_max(int a[], int x);
int summera(void);

int main(void)
{
    int i;
    int arr1; ----> is this supposed to be an array?, chg to     kMaxDie = 10; int arr1[kiMaxDie];
    int nr;
   
     for (i = 0; i > 10; i++){
    tal = rand()%6 + 1;               -----> maybe it's been a long time since I've used C but where is tal declared?
                                                         is it supposed to be arr[i] = rand()%6 + 1;
   
     printf("dice nr %d\n",nr);
    }  ======== close the for loop
     
    printf ("max value is %d\n", get_max (arr1, 10) );
    printf ("total sum is %d\n", summera (arr1, 10) );

 return (0);
}

int get_max(int a[], int x)
{

       int i,
       cur_large;           ----------> this is okay but hard to read   would prefer ->  int i;
                                                                                                                     int cur_large;
       cur_large = a[0];



  for (i = 1; i < x; i++)
       {
               if (a [i] > cur_large)
               {
                       cur_large = a[i];
               }

       }
       return cur_large;
} =========== this brace was missing


int summera(int arr[],int size)
{
    int summa=0; ===== initialize to 0


  for (i = 0; i < size; i++)
  {
     summa = summa + arr[i];
  }

  printf ("Summan : %d\n", summa);  -------------> don't force user of routine to print things, take this out.  If you use
                                                                          this you will end up with the following output with above call
                                                                          > total sum is Summan : 30
                                                       -------------> need to add -> return summa;
} ============== missing brace

osp70
0
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 
LVL 1

Expert Comment

by:guitardude101
ID: 9619465
Hello,
  This is the approach I would use.
Here is a short program that does exactly what you asked.

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

#define kNumDice 10
#define kMaxDie      6

void rollDice(int dice[], int numdice);
int totalDice(int dice[], int numdice);
void printDice(int dice[], int numdice);


int main(void)
{
      int dice[kNumDice], total;

      rollDice(dice, kNumDice);
      total = totalDice(dice, kNumDice);
      printDice(dice, kNumDice);
      
      printf("\ntotal = %d\n", total);

      return 0;
}

void rollDice(int dice[], int numdice)
{
      int index;

      for (index = 0; index < numdice; index++)
      {
            dice[index] = (rand() % kMaxDie) + 1;
      }
}

Sample Output:
Die 1 = 3
Die 2 = 5
Die 3 = 4
Die 4 = 2
Die 5 = 2
Die 6 = 6
Die 7 = 1
Die 8 = 4
Die 9 = 1
Die 10 = 1

total = 29
0
 
LVL 1

Expert Comment

by:guitardude101
ID: 9619475
I missed this when I copied and pasted


int totalDice(int dice[], int numdice)
{
      int sum = 0, index;
      
      for (index = 0; index < numdice; index++)
      {
            sum += dice[index];
      }
      return sum;
}


void printDice(int dice[], int numdice)
{
      int index;

      for (index = 0; index < numdice; index++)
      {
            printf("Die %d = %d\n", index + 1, dice[index]);
      }
}


0
 
LVL 1

Accepted Solution

by:
guitardude101 earned 50 total points
ID: 9823675
My answer is correct. I provided a full program with the output..... and I would like some points.
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
The goal of this video is to provide viewers with basic examples to understand how to use strings and some functions related to them in the C programming language.
The goal of this video is to provide viewers with basic examples to understand how to create, access, and change arrays in the C programming language.

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question