Create a function sumLargestAndSmallest
that calculates the sum of the largest and the smallest term of the sequence x
. The arguments of the function should be the address of the first term of the sequence and the length of the sequence.
For example if the sequence x
has length 5 and if the terms of the sequence x
are \(20\), \(7\), \(80\), \(93\), and \(50\), then after the command
long result=sumLargestAndSmallest(x,5);is executed, the content of the varialbe
result
should be \(100\).
Assume that you have a supercomputer with sufficiently large memory and sufficiently fast processor. Assume that the class Space3D
is already implemented and for each three real numbers \(a\), \(b\), and \(c\) it stores the color of the point in space whose coordinates are \((a,b,c)\). The color is stored as an integer of type long
. The class has a method getColor
that accepts three integers a
, b
, and c
and returns the color of the point \((a,b,c)\). It also has a method setColor
whose input
consists of three real numbers \(a\), \(b\), and \(c\), and an integer \(x\). The method assigns the color \(x\) to the point \((a,b,c)\). What is the output of the function tiger()
if the implementations of the functions elephant
, giraffe
, and tiger
are given below.
long elephant(Space3D& s){ s.setColor(6,1,1,10+s.getColor(6,1,1)); return 3*s.getColor(6,1,1)-5*s.getColor(8,4,3); } long giraffe(Space3D s){ s.setColor(8,4,3,2+s.getColor(8,4,3)); return 4*s.getColor(6,1,1)-3*s.getColor(8,4,3); } long tiger(){ Space3D monkey; monkey.setColor(6,1,1,7); monkey.setColor(8,4,3,4); long result1=elephant(monkey); long result2=giraffe(monkey); long result3=elephant(monkey); return 5*result1+4*result2+3*result3; }
Important notice: In this problem you will be asked to declare a class and implement only few of its methods. Do not implement all of the methods. You would spend a lot of time doing so and you will not earn extra credit for that!
You must use the keyword const
whenever possible.
The class BigLibrary
should have the private attribute aListSections
which is the pointer to the head of a list. Each list node should contain the attribute nameOfSection
of type std::string
and a pointer to another list that contains books in the section of the library.
The public methods should include: addSection
that adds the section to the library; addBookToSection
that adds the book to the section (the names of book and section should be supplied as arguments); printAllBooksFromTheSection
that prints all books in the specified section (the name of the section should be an argument of the method); printAll
that prints all sections and all books.
In addtion, provide the declarations for the default constructor, copy constructor, move constructor, copy assignment, move assignment and the destructor.
Create implementations for the copy constructor, move assignment, and destructor.
Warning: Do not implement the code from this problem on a standard computer. A serious damage can occur.
What does the following program print if it is executed on a computer with sufficiently fast CPU and sufficiently large memory? Provide a rigorous justification for your answer.
#include<iostream> void generateSequence(long*& aX, long len){ for(long i=0; i < len; ++i){ aX[i]=len+i; } } void funPointer(long* aX){ generateSequence(aX,64); for(long i=0;i<1000000;++i){ aX=new long[8000000+i]; generateSequence(aX,8000000+i); } } void funPointerReference(long*& aX){ generateSequence(aX,64); for(long i=0;i<1000000;++i){ aX=new long[8000000+i]; generateSequence(aX,8000000+i); } } int main(){ long* x; x=new long[8000000]; generateSequence(x,8000000); funPointer(x); long res1=x[57]; funPointerReference(x); long res2=x[57]; std::cout<<5*res1+4*res2<<"\n"; return 0; }
Input: 3 Output: 000 001 011 111 101 100 110 010