
Concept explainers
C++
Given header is in image
main.cpp
#include "IntList.h"
#include <iostream>
using namespace std;
int main()
{
cout << "Enter a test number(1-5): ";
int test;
cin >> test;
cout << endl;
//tests constructor, destructor, push_front, pop_front, display
if (test == 1) {
cout << "\nlist1 constructor called";
IntList list1;
cout << "\npushfront 10";
list1.push_front( 10 );
cout << "\npushfront 20";
list1.push_front( 20 );
cout << "\npushfront 30";
list1.push_front( 30 );
cout << "\nlist1: ";
list1.display();
cout << "\npop";
list1.pop_front();
cout << "\nlist1: ";
list1.display();
cout << "\npop";
list1.pop_front();
cout << "\nlist1: ";
list1.display();
cout << "\npop";
list1.pop_front();
cout << "\nlist1: ";
list1.display();
cout << endl;
}
if (test == 1) {
cout << "list1 destructor called" << endl;
}
//tests push_back
if (test == 2) {
cout << "\nlist2 constructor called";
IntList list2;
cout << "\npushback 10";
list2.push_back( 10 );
cout << "\npushback 20";
list2.push_back( 20 );
cout << "\npushback 30";
list2.push_back( 30 );
cout << "\nlist2: ";
list2.display();
cout << "\npop";
list2.pop_front();
cout << "\nlist2: ";
list2.display();
cout << "\npop";
list2.pop_front();
cout << "\nlist2: ";
list2.display();
cout << "\npop";
list2.pop_front();
cout << "\nlist2: ";
list2.display();
cout << endl;
}
if (test == 2) {
cout << "list2 destructor called" << endl;
}
//tests insert_sorted
if (test == 4) {
cout << "\nlist4 constructor called";
IntList list4;
cout << "\ninsert 20";
list4.insert_ordered( 20 );
cout << "\ninsert 10";
list4.insert_ordered( 10 );
cout << "\ninsert 30";
list4.insert_ordered( 30 );
cout << "\nlist4: ";
list4.display();
cout << "\ninsert 50";
list4.insert_ordered( 50 );
cout << "\nlist4: ";
list4.display();
cout << "\ninsert 40";
list4.insert_ordered( 40 );
cout << "\nlist4: ";
list4.display();
cout << "\ninsert 11";
list4.insert_ordered( 11 );
cout << "\nlist4: ";
list4.display();
cout << "\ninsert 10";
list4.insert_ordered( 10 );
cout << "\nlist4: ";
list4.display();
cout << "\ninsert 11";
list4.insert_ordered( 11 );
cout << "\nlist4: ";
list4.display();
cout << "\ninsert 9";
list4.insert_ordered( 9 );
cout << "\nlist4: ";
list4.display();
cout << "\ninsert 50";
list4.insert_ordered( 50 );
cout << "\nlist4: ";
list4.display();
cout << "\ninsert 51";
list4.insert_ordered( 51 );
cout << "\nlist4: ";
list4.display();
cout << endl;
}
if (test == 4) {
cout << "list4 destructor called" << endl;
}
//tests remove_duplicates
if (test == 5) {
cout << "\nlist5 constructor called";
IntList list5;
cout << "\npushfront 10";
list5.push_front( 10 );
cout << "\npushfront 20";
list5.push_front( 20 );
cout << "\npushfront 10";
list5.push_front( 10 );
cout << "\npushfront 30";
list5.push_front( 30 );
cout << "\nlist5: ";
list5.display();
cout << "\nremove_duplicates()";
list5.remove_duplicates();
cout << "\nlist5: ";
list5.display();
cout << "\npushfront 10";
list5.push_front( 10 );
cout << "\nlist5: ";
list5.display();
cout << "\nremove_duplicates()";
list5.remove_duplicates();
cout << "\nlist5: ";
list5.display();
cout << "\npushfront 20";
list5.push_front( 20 );
cout << "\nlist5: ";
list5.display();
cout << "\nremove_duplicates()";
list5.remove_duplicates();
cout << "\nlist5: ";
list5.display();
cout << "\npushfront 20";
list5.push_front( 20 );
cout << "\nlist5: ";
list5.display();
cout << "\nremove_duplicates()";
list5.remove_duplicates();
cout << "\nlist5: ";
list5.display();
cout << "\npushfront 20";
list5.push_front( 20 );
cout << "\npushfront 20";
list5.push_front( 20 );
cout << "\nlist5: ";
list5.display();
cout << "\nremove_duplicates()";
list5.remove_duplicates();
cout << "\nlist5: ";
list5.display();
cout << "\nremove_duplicates()";
list5.remove_duplicates();
cout << "\nlist5: ";
list5.display();
cout << "\npop";
list5.pop_front();
cout << "\npop";
list5.pop_front();
cout << "\npush_front(30)";
list5.push_front(30);
cout << "\nlist5: ";
list5.display();
cout << "\nremove_duplicates()" << flush;
list5.remove_duplicates();
cout << "\nlist5: " << flush;
list5.display();
cout << "\npush_front(30)";
list5.push_front(30);
cout << "\npush_front(30)";
list5.push_front(30);
cout << "\nlist5: ";
list5.display();
cout << "\nremove_duplicates()" << flush;
list5.remove_duplicates();
cout << "\nlist5: " << flush;
list5.display();
cout << "\nremove_duplicates()" << flush;
list5.remove_duplicates();
cout << "\nlist5: " << flush;
list5.display();
cout << "\npop";
list5.pop_front();
cout << "\nlist5: ";
list5.display();
cout << "\nremove_duplicates()" << flush;
list5.remove_duplicates();
cout << "\nlist5: " << flush;
list5.display();
cout << endl;
}
if (test == 5) {
cout << "list5 destructor called" << endl;
}
/*
* Destructor will be tested by looking at code. There is no run-time
* test for it. Make sure your destructor actually deletes ALL nodes, not
* just the head and/or tail.
*/
return 0;
}



Trending nowThis is a popular solution!
Step by stepSolved in 3 steps with 1 images

- In C++arrow_forward// // main.c // Assignment1 // // Created by Hassan omer on 15/10/21. // #include <stdio.h> # include <stdlib.h> int input(); int multiples(); int cions(); void display_change(); int cent50 = 0; int cent20 = 0; int cent10 = 0; int cent05 = 0; int main() { char choice = (char)0; int num; do { num = input(); multiples(num); cions(num); display_change(); }while(choice != 'q'); return 0; } int input(int num) { printf("enter 5-95 number\n"); scanf("%d",&num); return num; } int multiples(int num) { int sum5 =0; if (num %5 != 0 ||num<=4|| num >=96) { printf("invaild input %d\n",num); exit(0); } return sum5; } int cions(int sum5){ if (sum5 > 0) { while (sum5 >= 50){ sum5 -= 50; cent50++; } while (sum5 >=20){ sum5 -= 20; cent20++; } while (sum5 >= 10){…arrow_forward#include #include #include struct Point2d { double x; double y; void print() { // example: (2.5,3.64) std::cout << "(" << x << "," << y << ")" << std::endl; } double length() const { return std::sqrt(x * x + y * y); } // const Point2D & ==> function can't modify 'other' // the second const ==> function can't modify x, y Point2d add(const Point2d &other) const { Point2d result; result.x = x + other.x; result.y = y + other.y; return result; } }; // // do NOT modify above this line // Point2d discplacement(std::string commands) { // TODO: re-write this Point2d p = {0, 0}; return p; } // // do NOT modify below this line // void check(Point2d result, double x , double y) { if (result.x != x || result.y != y) { std::cout << "fail" << std::endl; } else { std::cout << "pass" << std::endl; } } int main() { Point2d result =…arrow_forward
- #include <iostream>#include <cstdlib>#include <time.h>#include <chrono> using namespace std::chrono;using namespace std; void randomVector(int vector[], int size){ for (int i = 0; i < size; i++) { //ToDo: Add Comment vector[i] = rand() % 100; }} int main(){ unsigned long size = 100000000; srand(time(0)); int *v1, *v2, *v3; //ToDo: Add Comment auto start = high_resolution_clock::now(); //ToDo: Add Comment v1 = (int *) malloc(size * sizeof(int *)); v2 = (int *) malloc(size * sizeof(int *)); v3 = (int *) malloc(size * sizeof(int *)); randomVector(v1, size); randomVector(v2, size); //ToDo: Add Comment for (int i = 0; i < size; i++) { v3[i] = v1[i] + v2[i]; } auto stop = high_resolution_clock::now(); //ToDo: Add Comment auto duration = duration_cast<microseconds>(stop - start); cout << "Time taken by function: " << duration.count()…arrow_forwardThis is the C code I have so far #include <stdio.h> #include <stdlib.h> struct employees { char name[20]; int ssn[9]; int yearBorn, salary; }; // function to read the employee data from the user void readEmployee(struct employees *emp) { printf("Enter name: "); gets(emp->name); printf("Enter ssn: "); for (int i = 0; i < 9; i++) scanf("%d", &emp->ssn[i]); printf("Enter birth year: "); scanf("%d", &emp->yearBorn); printf("Enter salary: "); scanf("%d", &emp->salary); } // function to create a pointer of employee type struct employees *createEmployee() { // creating the pointer struct employees *emp = malloc(sizeof(struct employees)); // function to read the data readEmployee(emp); // returning the data return emp; } // function to print the employee data to console void display(struct employees *e) { printf("%s", e->name); printf(" %d%d%d-%d%d-%d%d%d%d",…arrow_forwardC++ complete and create magical square #include <iostream> using namespace std; class Vec {public:Vec(){ }int size(){return this->sz;} int capacity(){return this->cap;} void reserve( int n ){// TODO:// (0) check the n should be > size, otherwise// ignore this action.if ( n > sz ){// (1) create a new int array which size is n// and get its addressint *newarr = new int[n];// (2) use for loop to copy the old array to the// new array // (3) update the variable to the new address // (4) delete old arraydelete[] oldarr; } } void push_back( int v ){// TODO: if ( sz == cap ){cap *= 2; reserve(cap);} // complete others } int at( int idx ){ } private:int *arr;int sz = 0;int cap = 0; }; int main(){Vec v;v.reserve(10);v.push_back(3);v.push_back(2);cout << v.size() << endl; // 2cout << v.capacity() << endl; // 10v.push_back(3);v.push_back(2);v.push_back(3);v.push_back(4);v.push_back(3);v.push_back(7);v.push_back(3);v.push_back(8);v.push_back(2);cout…arrow_forward
- #include using namespace std; void some_action_1(int); int main() { cout<arrow_forward#include #include #include "Product.h" using namespace std; int main() { vector productList; Product currProduct; int currPrice; string currName; unsigned int i; Product resultProduct; cin>> currPrice; while (currPrice > 0) { } cin>> currPrice; main.cpp cin>> currName; currProduct.SetPriceAndName (currPrice, currName); productList.push_back(currProduct); resultProduct = productList.at (0); for (i = 0; i < productList.size(); ++i) { Type the program's output Product.h 1 CSE Scanned Product.cpp if (productList.at (i).GetPrice () < resultProduct.GetPrice ()) { resultProduct = productList.at(i); } AM cout << "$" << resultProduct.GetPrice() << " " << resultProduct. GetName() << endl; return 0; Input 10 Cheese 6 Foil 7 Socks -1 Outputarrow_forwardC++ Program #include <iostream>#include <cstdlib>#include <ctime>using namespace std; int getData() { return (rand() % 100);} class Node {public: int data; Node* next;}; class LinkedList{public: LinkedList() { // constructor head = NULL; } ~LinkedList() {}; // destructor void addNode(int val); void addNodeSorted(int val); void displayWithCount(); int size(); void deleteAllNodes(); bool exists(int val);private: Node* head;}; // function to check data exist in a listbool LinkedList::exists(int val){ if (head == NULL) { return false; } else { Node* temp = head; while (temp != NULL) { if(temp->data == val){ return true; } temp = temp->next; } } return false;} // function to delete all data in a listvoid LinkedList::deleteAllNodes(){ if (head == NULL) { cout << "List is empty, No need to delete…arrow_forward
- Write a function getNeighbors which will accept an integer array, size of the array and an index as parameters. This function will return a new array of size 2 which stores the neighbors of the value at index in the original array. If this function would result in returning garbage values the new array should be set to values {0,0} instead of values from the array.arrow_forwardmain.cc file #include <iostream>#include <memory> #include "customer.h" int main() { // Creates a line of customers with Adele at the front. // LinkedList diagram: // Adele -> Kehlani -> Giveon -> Drake -> Ruel std::shared_ptr<Customer> ruel = std::make_shared<Customer>("Ruel", 5, nullptr); std::shared_ptr<Customer> drake = std::make_shared<Customer>("Drake", 8, ruel); std::shared_ptr<Customer> giveon = std::make_shared<Customer>("Giveon", 2, drake); std::shared_ptr<Customer> kehlani = std::make_shared<Customer>("Kehlani", 15, giveon); std::shared_ptr<Customer> adele = std::make_shared<Customer>("Adele", 4, kehlani); std::cout << "Total customers waiting: "; // =================== YOUR CODE HERE =================== // 1. Print out the total number of customers waiting // in line by invoking TotalCustomersInLine. //…arrow_forward#include <iostream>#include <cstdlib>#include <time.h>#include <chrono> using namespace std::chrono;using namespace std; void randomVector(int vector[], int size){ for (int i = 0; i < size; i++) { //ToDo: Add Comment vector[i] = rand() % 100; }} int main(){ unsigned long size = 100000000; srand(time(0)); int *v1, *v2, *v3; //ToDo: Add Comment auto start = high_resolution_clock::now(); //ToDo: Add Comment v1 = (int *) malloc(size * sizeof(int *)); v2 = (int *) malloc(size * sizeof(int *)); v3 = (int *) malloc(size * sizeof(int *)); randomVector(v1, size); randomVector(v2, size); //ToDo: Add Comment for (int i = 0; i < size; i++) { v3[i] = v1[i] + v2[i]; } auto stop = high_resolution_clock::now(); //ToDo: Add Comment auto duration = duration_cast<microseconds>(stop - start); cout << "Time taken by function: " << duration.count()…arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





