Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Define a class called counters in a file counters.h : class counters { private: static const int size = 10; // array size int data

Define a class called counters in a file counters.h:

class counters

{

private:

static const int size = 10; // array size

int data [size]; // array of values

int *last_inc; // pointer to last value incremented

int *last; // pointer to last value in array

public:

counters (); // constructor places zeros

void print (); // prints current array

void rand_inc (); // increments a random spot in array

bool filled (); // returns true if all elements

// are non-zero

};

The class maintains an array of integer counters, data. Values in the array will be incremented. last_inc is a pointer to the last element in the array incremented. last is a pointer to the last element in the array.

The member functions should only use pointers to access the array. You are not allowed to use array indexes. The member functions are:

counters: Constructor places zeros in all elements of the array. It also calls srand to initialize the random number seed, sets the value of last_inc to NULL and appropriately initializes last based on size.

print: Prints the values in the array. print first goes to a new line. It then prints each array value with a space before and after. It prints the element pointed to by last_inc with an * before and after.

rand_inc: Randomly chooses one of the elements in the array and increments it. last_inc is appropriately changed.

filled: Returns true if all of the values in the array are non-zero. Otherwise, it returns false.

These functions should all work properly if size is changed.

2. Write an application program, countapp.cpp, that declares a variable of type counters, lets call it c. This program prints c at the start and then repeatedly applies the functions rand_inc and print to c until filled returns true (each element is non-zero). It should count the number of random increments needed to fill the array.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database In Depth Relational Theory For Practitioners

Authors: C.J. Date

1st Edition

0596100124, 978-0596100124

More Books

Students also viewed these Databases questions