Complete the missing code then compile, debug and test your program using the command lines below: c++ -o project1 project1.cpp ./project1 n m k Where n is the size of the stack, m is the modular of the real part and imagination part of a random complex number, and k is the number of elements displayed per line. In the main function, you need to Get the values n, m, and k from the command line. Declare a complex number stack of size n, generate n random complex numbers and push them into the stack. Meantime display all these numbers, k numbers per line. Display all elements of the stack, k elements per line. Create two random complex numbers c1 and c2, display c1, c2 and the results of the addition c1+c2, the subtraction c1-c2, the multiplication c1*c2, and the division c1/c2.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Complete the missing code then compile, debug and test your program using the command lines below:

c++ -o project1 project1.cpp <enter>

./project1 n m k <enter>

Where n is the size of the stack, m is the modular of the real part and imagination part of a random complex number, and k is the number of elements displayed per line.

In the main function, you need to

  1. Get the values n, m, and k from the command line.
  2. Declare a complex number stack of size n, generate n random complex numbers and push them into the stack. Meantime display all these numbers, k numbers per line.
  3. Display all elements of the stack, k elements per line.
  4. Create two random complex numbers c1 and c2, display c1, c2 and the results of the addition c1+c2, the subtraction c1-c2, the multiplication c1*c2, and the division c1/c2.

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

class Complex {                                                                                      // complex number class

        float re;                                                                                            // real part

        float im;                                                                                           // imagination part

public:

        Complex(float r=0.0, float i=0.0){re=r; im=i;}                               // constructor

        Complex(const Complex& c){re=c.re; im=c.im;}                           // copy constructor

        void operator =(const Complex& c){re=c.re; im=c.im;} // assignment

        Complex operator -()const{return Complex(-re, -im);}                  // unary negation

        Complex operator +(const Complex&) const;                 // addition operator

        Complex operator -(const Complex&) const;                                  // subtraction operator

        Complex operator *(const Complex&) const;                 // multiplication operator

        Complex operator /(const Complex&) const;                                  // division operator

        friend ostream& operator <<(ostream&, const Complex&);           // output operator

};

// overloaded addition operator, to be implemented

Complex Complex::operator +(const Complex& c) const {}                 

// overloaded subtraction operator, to be implemented            

Complex Complex::operator -(const Complex& c) const{}                   

// overloaded multiplication operator, to be implemented        

Complex Complex::operator *(const Complex& c) const {}                 

// overloaded division operator, to be implemented

Complex Complex::operator /(const Complex& c) const {}                  

// overloaded stream output operator, to be implemented        

ostream& operator <<(ostream& os, const Complex& c) {}                 

template <class T> class myStack{

       T *ptr;                                                                                              // storage body

       int size;                                                                                             // storage size

       int top;                                                                                              // top position

public:

       myStack(int);                                                                                    // constructor

       ~myStack(){free(ptr);}                                                                    // destructor

       bool empty(){return top==-1;}                                                        // empty or not

       bool full(){return top==size-1;}                                                       // full or not

       int hold(){return top+1;}                                                                  // number of items hold

       void push(T v){ptr[++top]=v;}                                                       // put an item on top

       T pop(){return ptr[top--];}                                                               // take an item from top

       void display(int);                                                                              // display items

};

// constructor that creates an empty stack, to be implemented

template <class T> myStack<T>::myStack(int s){}                               

// display function, k items per line, to be implemented

template <class T> void myStack<T>::display(int k){}                         

// Operator Overloading and Stack Template Program

int main(int argc, char **argv){

        // get n, m, and k from command line and create a complex number stack s(n)                                                                              

 // generate n number of random complex numbers and push them onto the stack,

       // meantime display these complex numbers, k items per line

      // display all complex numbers in the stack, k elements per line

// create two random complex numbers c1 and c2, display c1, c2

// display the results of the addition c1+c2, the subtraction c1-c2, the   multiplication c1*c2, and the division c1/c2. 

   return 0;

}

 

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Declaring and Defining the Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education