1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
pishuonlain [190]
4 years ago
13

THE bestValue PROBLEM Using the Camera structure defined in file p1.cpp, write the function named bestValue(). The function take

s one input parameter: a vector of Camera. The vector is sorted by manufacturer, so all cameras of a particular manufacturer are together in the vector. The function returns a vector of string, with the manufacturer, model number and price concatenated together exactly in this format.
Computers and Technology
1 answer:
eduard4 years ago
3 0

Answer:

#include <iostream>

#include <vector>

#include <string>

#include <cmath>

#include <iomanip>

#include <sstream>

using namespace std;

// Given struct

struct Camera {

// Declaring variables

string manufacturer;

string model;

int releaseYear;

int resolution;

int weight;

double price;

};

vector<string> bestValue(const vector<Camera>& cameraNew) {

vector<string> display;

double winnerOne = 0;

double winnerTwo = 0;

double realWinnerOne = 0;

double realWinnerTwo = 0;

string displayOne;

string displayTwo;

string ans;

int find = 0;

// Calculating best value using given formula

for (unsigned i = 1; i < cameraNew.size(); i++) {

winnerOne = cameraNew[i].price / static_cast<double>(cameraNew[i].resolution);

winnerTwo = cameraNew[i-1].price / static_cast<double>(cameraNew[i - 1].resolution);

if (cameraNew[i].manufacturer == cameraNew[i - 1].manufacturer) {

if (winnerOne > winnerTwo && winnerOne > realWinnerOne) {

find = 1;

}

else if (winnerOne < winnerTwo && winnerTwo > realWinnerTwo) {

find = 2;

}

if (find == 1) {

realWinnerOne = cameraNew[i].price/ static_cast<double>(cameraNew[i].resolution) ;

ostringstream displayStream1;

displayStream1 << fixed << setprecision(2) << cameraNew[i].price;

displayOne = cameraNew[i].manufacturer + ":" + cameraNew[i].model + ":$" + displayStream1.str();

find = 0;

}

else if (find == 2) {

realWinnerTwo = cameraNew[i - 1].price / static_cast<double>(cameraNew[i - 1].resolution);

ostringstream displayStream2;

displayStream2 << fixed << setprecision(2) << cameraNew[i - 1].price;

displayTwo = cameraNew[i-1].manufacturer + ":" + cameraNew[i-1].model + ":$" + displayStream2.str();

find = 0;

}

}

else {

if (realWinnerOne >= realWinnerTwo) {

display.push_back(displayOne);

realWinnerOne = 0;

realWinnerTwo = 0;

}

else if (realWinnerOne < realWinnerTwo) {

display.push_back(displayTwo);

realWinnerOne = 0;

realWinnerTwo = 0;

}

}

}

if (realWinnerOne > realWinnerTwo) {

display.push_back(displayOne);

}

else if (realWinnerOne < realWinnerTwo) {

display.push_back(displayTwo);

}

else if (realWinnerOne == realWinnerTwo) {

display.push_back(displayTwo);

}

return display;

}

template <typename T>

ostream& operator<<(ostream& out, const vector<T>& display) {

if (display.size() > 0) {

out << "0. " << display[0];

out << endl;

//displaying output in the given format

for (size_t i = 1; i < display.size(); i++) {

out << i << ". " << display[i];

out << endl;

}

}

else

{

out << "Size of the vector is 0 or less than 0." << endl;

}

return out;

}

void camBestValue() {

const vector<Camera> vCameras = {

{ "Agfa", "ePhoto 1280", 1996, 1024, 400, 180 },

{ "Agfa", "ePhoto CL45", 2000, 1600, 275, 180 },

{ "Canon", "PowerShot 350", 1996, 640, 315, 150 },

{ "Canon", "PowerShot 600", 1994, 832, 445, 139 },

{ "Canon", "PowerShot A10", 2001, 1280, 355, 139 },

{ "Casio", "Exilim EX-P505", 2005, 2560, 250, 260 },

{ "Casio", "Exilim EX-P600", 2006, 2816, 275, 260 },

{ "Casio", "Exilim EX-P700", 2006, 3072, 275, 260 },

{ "Epson", "PhotoPC 800", 1997, 1600, 285, 220 },

{ "Epson", "PhotoPC L-500V", 2004, 2560, 205, 150 },

{ "Fujifilm", "FinePix 40i", 2000, 2400, 185, 180 },

{ "Fujifilm", "FinePix 50i", 2001, 2400, 205, 180 },

{ "Fujifilm", "DS-260HD", 1997, 1280, 845, 190 },

{ "Fujifilm", "DS-300", 1995, 1280, 845, 200 },

{ "HP", "Photosmart 320", 2002, 1632, 230, 190 },

{ "HP", "Photosmart 435", 2003, 2048, 180, 190 },

{ "HP", "Photosmart 620", 2002, 1632, 260, 190 },

};

vector<string> display;

display = bestValue(vCameras);

cout << display << endl;

}

int main() {

camBestValue();

}

Explanation:

The program takes one input parameter: a vector of Camera. The vector is sorted by manufacturer, so all cameras of a particular manufacturer are together in the vector.

The function returns a vector of string, with the manufacturer, model number and price concatenated together.

It produces the best value.

You might be interested in
What is the answer to in Microsoft Word you can access the blank from the command command from the mini toolbar what is the corr
fgiga [73]
<span>The correct answer is: Option (C) Underlined

Explanation:
In Microsoft Word (version 2007 and version 2010), the following commands you can use:
1. Bold
2. Highlight Text
3. Font Size
4. Italics
5. Underline
6. Format Painter
7. Increase indent of text
8. Decrease indent of text
9. Increase font size
10. Center text (alignment)

Word count, save as and insert citation commands do not exist in the mini-toolbar. Hence, the correct option is Option (C) Underlined</span>
4 0
3 years ago
Read 2 more answers
Given the message size of 16Kb, packet size of 2Kb, speed of 4Kbps over 3 links, how much time, will it take the message to trav
ruslelena [56]

Answer:

5 seconds

Explanation:

Given that :

Message size = 16kb

Packet size = 2kb

Speed = 4kbps

Number of links = 3

The time taken is calculated using the formula :

[Number of packets + (Number of links - 1)] * (packet size / speed)

Number of packets = message size / packet size

Number of packets = 16kb / 2 kb = 8

Hence,

[Number of packets + (Number of links - 1)] * (packet size / speed)

(8 + (3 - 1)) * (2 / 4)

(8 + 2) * (1 /2)

10 * 1/2

= 5 seconds

6 0
3 years ago
The _____ path the name of the fire for the page and any directories or subdirectories​
Scorpion4ik [409]

Answer:

1. An absolute path name begins at the _____________

a) leaf

b) stem

c) current directory

d) root

View Answer

Answer: d

5 0
3 years ago
7. A patent is an example of a rare and valuable resource. Indicate whether the statement is true or false and also justify it.
mamaluj [8]

Answer:

True.

Explanation:

Patent can be defined as the exclusive or sole right granted to an inventor by a sovereign authority such as a government, which enables him or her to manufacture, use, or sell an invention for a specific period of time.

Generally, patents are used on innovation for products that are manufactured through the application of various technologies.

Basically, the three (3) main ways to protect an intellectual property is to employ the use of trademarks, copyright and patents.

Hence, a patent is an example of a rare and valuable resource because it protects the intellectual property of an individual or business entity and as such serves as a medium for gaining royalties or valuable economic benefits.

7 0
3 years ago
If Number = 7, what will be displayed after code corresponding to the following pseudocode is run? (In the answer options, new l
kherson [118]

Answer:

5,10; 6,12; 7,14

Explanation:

We will demonstrate the iteration of the loop:

First iteration: Number = 7, Count = 5 at the beginning. We will check if Count <= Number? Since it is correct, prints 5,10. Increment the Count by 1.

Second iteration: Number = 7, Count = 6. We will check if Count <= Number? Since it is correct, prints 6,12. Increment the Count by 1.

Third iteration: Number = 7, Count = 7. We will check if Count <= Number? Since it is correct, prints 7,14. Increment the Count by 1.

Forth iteration: Number = 7, Count = 8. We will check if Count <= Number? Since it is not correct, the loop stops.

8 0
3 years ago
Other questions:
  • Acomputer with a domain name is called a
    8·1 answer
  • Create a program asks a user for an odd positive integer. If the user gives and even number or a number that is negative it prom
    7·1 answer
  • Write a program that will ask the user to input a phrase (multiple word sentence), and an integer value. A static function will
    14·1 answer
  • Which is the correct process for inserting a blank worksheet?
    11·2 answers
  • Which of the following is the answer?
    5·1 answer
  • A PC is not able to connect to a wired network. Pinging the loopback address is successful, but the gateway cannot be reached. O
    12·1 answer
  • POINT AND BRAINLIEIST GIVE AWAY!!!
    11·2 answers
  • A ______ uses a web address to locate a website or a web page.
    9·1 answer
  • Can we use a data type as a condition in C++?
    14·1 answer
  • A(n) _________ produces dynamic reports, supports alerts/rss functionality, and supports user subscriptions.
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!