[SOLVED] CS151 # Module 1

30.00 $

Programming resource
Digital learning resource
Category:
✓ Practical programming resource
✓ Suitable for guided study and reference
✓ Tutor guidance available when needed

Description

Rate this product

Course Introduction

## Project 1 – Use a vector to sort numbers (10 points)

The purpose of this project is to generate thirty random whole numbers between 1 and 10, insert them into a vector in *descending* order, then and print the numbers in *ascendin*g order:

Use the following plan of attack:

1. Create an empty vector of **int** elements.
2. Use the **srand** function to change the “seed” for generating random numbers so that the **rand** function will generate a *different* set of random numbers every time your program is run.
3. Use the **rand** function to generate a random number whole number between 0 and **RAND_MAX** (using Dev-C++, **RAND_MAX** is 32,767).
4. Convert this number into a number between 1 and 10.
– *hint:* use the **%** operator.
5. Use a loop to **scan** the vector until you find the position of an element containing a number that is less than the random number just generated above.
6. Use an iterator to *insert* the random number into the vector at that position.
7. Go back to step 3 and perform again until the vector contains 30 random numbers
8. After all 30 numbers have been generated and inserted into the vector, they should appear in *descending* order in the vector.
9. Use the **pop_back** function in a loop to print the numbers in *ascending* order on the console until the vector is empty.

## Project 2 – Use a vector to sort countries by area (15 points)

Below is a list of the 14 countries in South America, including their population and area:

| Name | Population (in 1,000’s) | Area (sq. miles) |
| :————–: | :———————: | :————–: |
| Argentina | 45,258 | 1,073,234 |
| Bolivia | 11,696 | 424,052 |
| Brazil | 212,845 | 3,287,086 |
| Chile | 19,206 | 291,855 |
| Columbia | 51,115 | 440,715 |
| Ecuador | 17,705 | 106,851 |
| Falkland Islands | 3 | 4,700 |
| French Guiana | 290 | 32,253 |
| Guyana | 787 | 82,978 |
| Paraguay | 7,145 | 157,056 |
| Peru | 33,108 | 496,093 |
| Suriname | 586 | 63,252 |
| Uruguay | 3,475 | 68,037 |
| Venezuela | 28,102 | 353,748 |

 

Create a class called **Country**.

– The properties (variables) of each country will be its name, population, and area.
– Put the definitions of those properties and prototypes of functions in a header file with a guard.
– Put the function definitions in a .cpp file.
– Functions should include a constructor and “getters” for each property of the class.

Then, similar to what you did in project 1:

1. Create an empty vector of **Country** elements (make this a global variable).
2. In main, in alphabetic order, create a **Country** object for each of the countries in South America.
– as each is created insert it into the vector in *ascending* order based on the country’s area.
– consider writing a function which takes a **Country** object and inserts it into the vector in the appropriate spot in the vector.
3. Once the vector is filled, print a report showing each country.
– At the top of the report, put headings at the top of each column.
– Do *not* use **pop_back**. Instead, simply use a loop to access and print the values of each country in the vector, starting with element #0.
4. Inside the loop, use the **cout** object to align columns:
– The name of the country should be left-aligned (padded to the right)
– The population and area should be right-aligned (padded to the left)
5. The first part of your report might look like the following:

“`
Country Population Area
—————- ———- ———-
Falkland Islands 3 4700
French Guiana 290 32253
Suriname 586 63252
Uruguay 3475 68037
Guyana 787 82978
Ecuador 17705 106851
. . . . . . . .
“`

6. After all countries have been printed, show totals for the population and area columns.

Resource details

Understand the Task Before You Use the Resource

Review the requirements, identify the programming concepts involved, study the implementation and test your understanding with your own examples and modifications.