Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

How can i spaces between each letter? My output is ac, acb, acbd but i want it to be a b, a c b, a

How can i spaces between each letter? My output is ac, acb, acbd but i want it to be a b, a c b, a c b d, etcimage text in transcribed

canvas.cpp

#include #include "canvas.h" #include

using namespace std;

int maxr;

Canvas::Canvas(int width){ _width =width; C = new char*[_width]; // setting the double pointer to point to cols for (int hop2 = 0; hop2

Canvas::Canvas(char x) { _width = 5; C = new char*[_width]; for (int j = 0; j

//spaces for(int hop1=0;hop1

C[1][2]='#'; C[2][2]='#'; C[3][2]='#'; }

if((x=='B')||(x=='b')) { //Letter B for(int x1=0;x1

if((x=='C')||(x=='c')){ //Letter C for(int x1=1;x1

}

if((x=='D')||(x=='d')){ //Letter D for(int x1=0;x1

Canvas::~Canvas() { if (C != nullptr) { for (int i = 0; i

string Canvas::to_string() { //add spaces string result; if (_width != 0) { for (int i = 0; i

void Canvas::replace(char old_char, char new_char) {//replace # with @ if (_width == 0) { return; } for (int i = 0; i

int Canvas::width() { return _width; }

// Constructor for Canvas class Canvas::Canvas(string s) { // Set the max number of rows for each character canvas maxr = 5; //to Calculate width of the canvas _width = (s.length() * 5) + (s.length() * 2); // If the input string is empty, set C to null and return if (_width == 0) { C = nullptr; return; }

// Allocate memory for the 2D canvas C = new char*[_width]; for ( int j =0; j <_width j c new char>

// Add each character of the input string to the canvas int col = 0; for (int i =0; i

// Add a character to the end of the canvas void Canvas::add(char x) { // Calculate the new width of the canvas after adding a character int newWidth = _width + 7; // Allocate memory for the new canvas char** newC = new char*[newWidth]; for ( int i = 0; i

// Copy the existing canvas to the new canvas for (int i = 0; i

// Add the new character to the end of the canvas Canvas charCanvas(x); for (int i = 0; i

// Delete the old canvas and set C to the new canvas delete[] C; C = newC; _width = newWidth; }

canvas.h-----------------

#ifndef CANVAS_H #define CANVAS_H

#include

using namespace std;

// In this homework, you'll manipulate ASCII art images // consisting of a rectangular grid of chararacter pixels. class Canvas { public: // Allocates a canvas of the given width and height 5 that // consists entirely of ' ' (space) chars. If the width is 0, // the canvas is empty (pointer is NULL and _width is 0) Canvas(int width);

// Allocates a canvas with width 5 and height 5 that looks like: // // ### #### #### #### // # # # # # # # // ##### or #### or # or # # // # # # # # # # // # # #### #### #### // // depending upon which character ('A', 'B', 'C', or 'D') is // given as a parameter. If some other character is given, // allocates a canvas of ' ' chars with width 5 and height 5. Canvas(char x);

// Returns the width of the canvas. int width();

// Returns the entire canvas as a single string, consisting of each row // of the canvas, followed by the newline character (' '). // If the canvas is empty, returns an empty string. string to_string(); // Replaces every instance in the canvas of old_char with new_char. // For instance, if old_char is '#' and new char is '@', then: // // ### @@@ // # # @ @ // ##### becomes @@@@@ // # # @ @ // # # @ @ // void replace(char old_char, char new_char);

// Destructor. Deallocates all of the memory allocated by the canvas. ~Canvas();

// Allocates a canvas containing the sequence of characters // in the string with 2 columns of space between each pair // of adjacent characters. For instance, Canvas("BADCAB") // should yield: // // #### ### #### #### ### #### // # # # # # # # # # # # // #### ##### # # # ##### #### // # # # # # # # # # # # // #### # # #### #### # # #### // // Any characters in s not from {'A', 'B', 'C', 'D'} should be // replaced with empty 5x5 space, just like previous constructor. // If the string is empty (null string), the canvas is empty // (pointer is NULL and _width is 0) Canvas(string s);

// Adds a character to the Canvas's sequence of characters. void add(char x);

private: // A canvas is represented as a 2D char array, i.e. // an array of pointers to char (sub)arrays. // Each subarray corresponds to a COLUMN of the image. char** C; int _width; };

#endif

My output----------------

image text in transcribed

In this homework, you'll implement a class that represents "ASCII art" images and operations on them, represented as two-dimensional char arrays allocated on the heap (using the new operator). The following files are given to you: 1. A C++ header file (canvas.h) declaring the Canvas class. 2. A C++ source file (main.cpp) containing a main() function with tests. Create a new C++ source file named canvas.cpp that implements the class declared in canvas.h so that canvas.cpp and the provided files compile into a program that runs with no failed tests. \#\#\# \#\#\#\# \# \#\# \#\#\#\#\#\# \# \#\# \# \# \#\#\#\# test(C9.to_string( ) == string(" \#\#\# ####\")+"### ln " + "\#\#\#\#\# \# +"####n+"#####n") faile d in file. /main. cpp, line 149. \#\#\# \#\#\#\#\#\#\#\# \# \#\# \# \# \#\#\#\#\#\# \#\#\#\# \# \#\# \# \# \# \# \#\#\#\#\#\#\#\# \#\#\# \#\#\#\#\#\#\#\# \#\#\#\# \# \#\# \# \#\# \# \#\#\#\#\#\# \#\#\#\# \# \# test(C9.to_string( ) == string(" \#\#\# \#\#\#\# \#\#\#\# \#\#\#\# )+ " "\# \# \# \# \# \# \# " + "\# \# \#\#\#\# \#\#\#\# \#\#\#\# n) failed in file ./main.cpp, line 163. \#\#\# \#\#\#\#\#\#\#\# \#\#\#\# \# \#\# \# \#\# \# \#\#\#\#\#\# \#\#\#\# \# \# \# \#\# \# \#\# \# \# \# \#\#\#\#\#\#\#\# \#\#\#\# test(C9.to_string( ) == string(" \#\#\# \#\#\#\# \#\#\#\# \#\#\#\#

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

More Books

Students also viewed these Databases questions

Question

10. Describe the relationship between communication and power.

Answered: 1 week ago