0

I am trying to work on this assignment I have and I am pretty lost and do not know what to do. Any help would be greatly appreciated.

This is the assignment:
Add two methods (functions) to ex34.

/*
General Info: Write a copy constructor. Use the copy constructor in ex35 as a guide which is :

    MyString(); //default constructor
    MyString(char*); //conversion constructor
    MyString(MyString*); //copy constructor`

Useage: Array myArray(&arrayIn);
pre: arrayIn is a pointer to an existing object of type Array
post: a new object of type Array is created. Its size and contents are identical to those of the argument
/
Array (Array
)

/*
General Info: Write a method the returns a pointer to a sorted copy of invoking object. Use insertion sort as demonstrated in class. It will be easiest to write a stand-alone program to sort
a character array first. Then we'll worry about how to get it to work in class Array.
Useage: Array* sortedCopy = myArray.sort()
pre: ADT exists.
post: returns a pointer to an object of type Array containing the same elements as the invoking object but in order from smallest to largest
/
Array
sort()

Name your work as asgn5.h and asgn5.cpp

Here is the ex34 that is being referenced above:

//class example

#include "ex34.h"
#include <iostream>
   using namespace std;

Array::Array(int sizeIn) 
{
  //cout << "Array constructor" << endl;
  size = sizeIn; 
  array = new char[size];


}

Array::~Array()
{
  //cout << "Array destructor" << endl;
  delete array;
}

char Array::findLargest()
{
 char largest = get(0); 
 for (int i = 1; i < size; i++)
    {
     char item = get(i);
     if (item != '*')
       if (item > largest)
         largest = item;
    }
 return  largest;

}


void Array::insert(int pos, char elt)
{
 array[pos] = elt;
}

void Array::remove(int pos)
{
 array[pos] = '*';
}

int Array::get(int pos)
{
 return array[pos];
}

void Array::display()
{
 for (int i = 0; i < size; i++)
     cout.put(array[i]);
 cout << endl;
}

and the header file:

//A more complex example
#ifndef ARRAY_H
#define ARRAY_H

class Array 
 {
  public:
    /*
    pre:  size is a positive integer
    post: Array of requested size is created with '*' in each slot
    */
    Array(int size);

    ~Array();

    /*
    pre:  ADT exits; 0 <= pos < size; elt is an ascii character; elt != '*'
    post: elt is inserted at position pos
    */
    void insert(int pos, char elt);

    /*
    pre: ADT exists; 0 <= pos < size 
    post: inserts '*' into slot pos
    */
    void remove(int pos);

    /*
    pre:  ADT exists; 0 <= pos < size
    post: returns item in position pos
    */
    int get(int pos); 

    /*
    pre: ADT exists 
    post: displays all elements in the array
    */
    void display();

    /*
    pre: ADT exists 
    post: returns value of largest item. uses function, get
    */
    char findLargest();

  private: 
     int size; 
     char* array; 
 };
#endif

Thanks guys.

2
Contributors
1
Reply
2
Views
5 Years
Discussion Span
Last Post by Schol-R-LEA
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.