SlideShare a Scribd company logo
1 of 111
1
Starting Out with C++, 3rd
Edition
Chapter 7 – Arrays
2
Starting Out with C++, 3rd
Edition
7.1 Arrays Hold Multiple values
• Unlike regular variables, arrays can hold
multiple values.
3
Starting Out with C++, 3rd
Edition
Figure 7-1
int count Enough memory for 1 int
12345
float price Enough memory for 1
float
56.981
char letter Enough memory for 1 char
A
4
Starting Out with C++, 3rd
Edition
Figure 7-2
5
Starting Out with C++, 3rd
Edition
Table 7-1
Array Declaration Number of
Elements
Size of
Each Element
S ize of the
Array
c h a r l e t t e r s [ 2 5 ] ; 25 1 byte 25 bytes
s h o r t r i n g s [ 1 0 0 ] ; 100 2 bytes 200 bytes
i n t m i l e s [ 8 4 ] ; 84 4 bytes 336 bytes
f l o a t t e m p [ 1 2 ] ; 12 4 bytes 48 bytes
d o u b l e d D i s t a n c e [ 1 0 0 0 ] ; 1000 8 bytes 8000 bytes
6
Starting Out with C++, 3rd
Edition
7.2 Accessing Array elements
• The individual elements of an array are
assigned unique subscripts. These
subscripts are used to access the elements.
7
Starting Out with C++, 3rd
Edition
Program 7-1
// This program asks the user for the number of hours worked
// by 6 employees. It uses a 6-element int array to store the
// values.
#include <iostream.h>
void main(void)
{
short hours[6];
cout << "Enter the hours worked by six employees: ";
cin >> hours[0];
cin >> hours[1];
cin >> hours[2];
cin >> hours[3];
8
Starting Out with C++, 3rd
Edition
Program continues
cin >> hours[4];
cin >> hours[5];
cout << "The hours you entered are:";
cout << " " << hours[0];
cout << " " << hours[1];
cout << " " << hours[2];
cout << " " << hours[3];
cout << " " << hours[4];
cout << " " << hours[5] << endl;
}
9
Starting Out with C++, 3rd
Edition
Program Output with Example Input
Enter the hours worked by six employees: 20 12 40 30 30 15
[Enter]
The hours you entered are: 20 12 40 30 30 15
10
Starting Out with C++, 3rd
Edition
Figure 7-7
11
Starting Out with C++, 3rd
Edition
Program 7-2
// This program asks the user for the number of hours worked
// by 6 employees. It uses a 6-element short array to store the
// values.
#include <iostream.h>
void main(void)
{
short hours[6];
cout << "Enter the hours worked by six employees: ";
for (int count = 0; count < 6; count++)
cin >> hours[count];
cout << "The hours you entered are:";
for (count = 0; count < 6; count++)
cout << " " << hours[count];
cout << endl;
}
12
Starting Out with C++, 3rd
Edition
Program Output with Example Input
Enter the hours worked by six employees: 20 12 40 30 30 15
[Enter]
The hours you entered are: 20 12 40 30 30 15
13
Starting Out with C++, 3rd
Edition
Program 7-3
// This program asks the user for the number of hours worked
// by 6 employees. It uses a 6-element short array to store the
// values.
#include<iostream.h>
void main(void)
{
short hours[6];
cout << "Enter the hours worked by six employees.n";
for (int count = 1; count <= 6; count++)
{
cout << "Employee " << count << ": ";
cin >> hours[count - 1];
}
cout << "The hours you entered aren";
14
Starting Out with C++, 3rd
Edition
Program continues
for (count = 1; count <= 6; count++)
{
cout << "Employee " << count << ": ";
cout << hours[count - 1] << endl;
}
}
15
Starting Out with C++, 3rd
Edition
Program Output with Example Input
Enter the hours worked by six employees.
Employee 1: 20 [Enter]
Employee 2: 12 [Enter]
Employee 3: 40 [Enter]
Employee 4: 30 [Enter]
Employee 5: 30 [Enter]
Employee 6: 15 [Enter]
The hours you entered are
Employee 1: 20
Employee 2: 12
Employee 3: 40
Employee 4: 30
Employee 5: 30
Employee 6: 15
16
Starting Out with C++, 3rd
Edition
7.3 No Bounds Checking in C++
• C++ gives you the freedom to store data
past an array’s boundaries.
17
Starting Out with C++, 3rd
Edition
Program 7-4
// This program unsafely accesses an area of memory by writing
// values beyond an array's boundary.
// WARNING: If you compile and run this program, it could cause
// the computer to crash.
#include <iostream.h>
void main(void)
{
short values[3]; // An array of 3 short integers.
cout << "I will store 5 numbers in a 3 element array!n";
for (int count = 0; count < 5; count++)
values[count] = 100;
cout << "If you see this message, it means the computern";
cout << "has not crashed! Here are the numbers:n";
for (int count = 0; count < 5; count++)
cout << values[count] << endl;
}
18
Starting Out with C++, 3rd
Edition
Figure 7-8
19
Starting Out with C++, 3rd
Edition
7.4 Array Initialization
• Arrays may be initialized when they are
declared.
20
Starting Out with C++, 3rd
Edition
Program 7-5
// This program displays the number of days in each month.
// It uses a 12-element int array.
#include <iostream.h>
void main(void)
{
int days[12];
days[0] = 31; // January
days[1] = 28; // February
days[2] = 31; // March
days[3] = 30; // April
days[4] = 31; // May
days[5] = 30; // June
days[6] = 31; // July
21
Starting Out with C++, 3rd
Edition
Program continues
days[7] = 31; // August
days[8] = 30; // September
days[9] = 31; // October
days[10] = 30; // November
days[11] = 31; // December
for (int count = 0; count < 12; count++)
{
cout << "Month " << (count + 1) << " has ";
cout << days[count] << " days.n";
}
}
22
Starting Out with C++, 3rd
Edition
Program Output
Month 1 has 31 days.
Month 2 has 28 days.
Month 3 has 31 days.
Month 4 has 30 days.
Month 5 has 31 days.
Month 6 has 30 days.
Month 7 has 31 days.
Month 8 has 31 days.
Month 9 has 30 days.
Month 10 has 31 days.
Month 11 has 30 days.
Month 12 has 31 days.
23
Starting Out with C++, 3rd
Edition
Program 7-6
// This program displays the number of days in each month.
// It uses a 12-element int array.
#include <iostream.h>
void main(void)
{
int days[12] = {31, 28, 31, 30,
31, 30, 31, 31,
30, 31, 30, 31};
for (int count = 0; count < 12; count++)
{
cout << "Month " << (count + 1) << " has ";
cout << days[count] << " days.n";
}
}
24
Starting Out with C++, 3rd
Edition
Program Output
Month 1 has 31 days.
Month 2 has 28 days.
Month 3 has 31 days.
Month 4 has 30 days.
Month 5 has 31 days.
Month 6 has 30 days.
Month 7 has 31 days.
Month 8 has 31 days.
Month 9 has 30 days.
Month 10 has 31 days.
Month 11 has 30 days.
Month 12 has 31 days.
25
Starting Out with C++, 3rd
Edition
Program 7-7
// This program uses an array of ten characters to store the
// first ten letters of the alphabet. The ASCII codes of the
// characters are displayed.
#include <iostream.h>
void main(void)
{
char letters[10] = {'A', 'B', 'C', 'D', 'E',
'F', 'G', 'H', 'I', 'J'};
cout << "Character" << "t" << "ASCII Coden";
cout << "--------" << "t" << "----------n";
for (int count = 0; count < 10; count++)
{
cout << letters[count] << "tt";
cout << int(letters[count]) << endl;
}
}
26
Starting Out with C++, 3rd
Edition
Program Output
Character ASCII Code
--------- ----------
A 65
B 66
C 67
D 68
E 69
F 70
G 71
H 72
I 73
J 74
27
Starting Out with C++, 3rd
Edition
Partial Array Initialization
• When an array is being initialized, C++
does not require a value for every element.
int numbers[7] = {1, 2, 4, 8};
28
Starting Out with C++, 3rd
Edition
Program 7-8
// This program has a partially initialized array.
#include <iostream.h>
void main(void)
{
int numbers[7] = {1, 2, 4, 8}; // Initialize the
// first 4 elements.
cout << "Here are the contents of the array:n";
for (int index = 0; index < 7; index++)
cout << numbers[index] << endl;
}
29
Starting Out with C++, 3rd
Edition
Program Output
Here are the contents of the array:
1
2
4
8
0
0
0
30
Starting Out with C++, 3rd
Edition
Implicit Array Sizing
• It is possible to declare an array without
specifying its size, as long as you provide an
initialization list.
float ratings[] = {1.0, 1.5, 2.0, 2.5, 3.0};
31
Starting Out with C++, 3rd
Edition
Initializing With Strings
• When initializing a character array with a
string, simply enclose the string in
quotation marks:
char name[] = “Warren”;
32
Starting Out with C++, 3rd
Edition
Figure 7-11
33
Starting Out with C++, 3rd
Edition
Program 7-9
// This program displays the contents of two char arrays.
#include <iostream.h>
void main(void)
{
char name1[] = "Holly";
char name2[] = {'W', 'a', 'r', 'r', 'e', 'n', '0'};
cout << name1 << endl;
cout << name2 << endl;
}
34
Starting Out with C++, 3rd
Edition
Program Output
Holly
Warren
35
Starting Out with C++, 3rd
Edition
7.5 Processing Array Contents
• Individual array elements are processed like
any other type of variable.
36
Starting Out with C++, 3rd
Edition
Program 7-10
// This program stores, in an array, the hours worked by 5
// employees who all make the same hourly wage.
#include <iostream.h>
void main(void)
{
int hours[5];
float payRate;
cout << "Enter the hours worked by 5 employees who alln";
cout << "earn the same hourly rate.n";
for (int index = 0; index < 5; index++)
{
cout << "Employee #" << (index + 1) << ": ";
cin >> hours[index];
}
37
Starting Out with C++, 3rd
Edition
Program continues
cout << "Enter the hourly pay rate for all the employees: ";
cin >> payRate;
cout << "Here is the gross pay for each employee:n";
cout.precision(2);
cout.setf(ios::fixed | ios::showpoint);
for (index = 0; index < 5; index++)
{
float grossPay = hours[index] * payRate;
cout << "Employee #" << (index + 1);
cout << ": $" << grossPay << endl;
}
}
38
Starting Out with C++, 3rd
Edition
Program Output with Example Input
Enter the hours worked by 5 employees who all
earn the same hourly rate.
Employee #1: 5 [Enter]
Employee #2: 10 [Enter]
Employee #3: 15 [Enter]
Employee #4: 20 [Enter]
Employee #5: 40 [Enter]
Enter the hourly pay rate for all the employees: 12.75 [Enter]
Here is the gross pay for each employee:
Employee #1: $63.75
Employee #2: $127.50
Employee #3: $191.25
Employee #4: $255.00
Employee #5: $510.00
39
Starting Out with C++, 3rd
Edition
Program 7-11
// This program stores, in an array, the hours worked by 5
// employees who all make the same hourly wage. It then
// displays the gross pay, including any overtime.
#include <iostream.h>
// Constant for defining the array size
void main(void)
{
int hours[5];
float payRate;
cout << "Enter the hours worked by 5 employees who alln";
cout << "earn the same hourly rate.n";
for (int index = 0; index < 5; index++)
{
cout << "Employee #" << (index + 1) << ": ";
cin >> hours[index];
}
40
Starting Out with C++, 3rd
Edition
Program continues
cout << "Enter the hourly pay rate for all the employees: ";
cin >> payRate;
cout << "Here is the gross pay for each employee:n";
cout.precision(2);
cout.setf(ios::fixed | ios::showpoint);
for (index = 0; index < 5; index++)
{
float grossPay, overTime;
if (hours[index] > 40)
{
// Calculate pay for 40 hours.
grossPay = 40 * payRate;
// Calculate overtime pay.
overTime = (hours[index] - 40) * 1.5 * payRate;
// Add regular pay and overtime pay.
grossPay += overTime;
}
41
Starting Out with C++, 3rd
Edition
Program continues
else
grossPay = hours[index] * payRate;
cout << "Employee #" << (index + 1);
cout << ": $" << grossPay << endl;
}
}
42
Starting Out with C++, 3rd
Edition
Program Output with Example Input
Enter the hours worked by 5 employees who all
earn the same hourly rate.
Employee #1: 10 [Enter]
Employee #2: 20 [Enter]
Employee #3: 50 [Enter]
Employee #4: 40 [Enter]
Employee #5: 60 [Enter]
Enter the hourly pay rate for all the employees: 12.75 [Enter]
Here is the gross pay for each employee:
Employee #1: $127.50
Employee #2: $255.00
Employee #3: $701.25
Employee #4: $510.00
Employee #5: $892.50
43
Starting Out with C++, 3rd
Edition
7.6 Focus on Software Engineering:
Parallel Arrays
• By using he same subscript, you can build
relationships between data stored in two or
more arrays.
44
Starting Out with C++, 3rd
Edition
Program 7-12
// This program stores, in two arrays, the hours worked by 5
// employees, and their hourly pay rates.
#include <iostream.h>
// Constant for defining the array size
const int numEmps = 5;
void main(void)
{
int hours[numEmps];
float payRate[numEmps];
cout << "Enter the hours worked by “ << numEmps
<< “ employees and theirn";
cout << "hourly rates.n";
for (int index = 0; index < numEmps; index++)
{
cout << "hours worked by employee #" << (index + 1);
cout << ": ";
45
Starting Out with C++, 3rd
Edition
Program continues
cin >> hours[index];
cout << "Hourly pay rate for employee #";
cout << (index + 1) << ": ";
cin >> payRate[index];
}
cout << "Here is the gross pay for each employee:n";
cout.precision(2);
cout.setf(ios::fixed | ios::showpoint);
for (index = 0; index < numEmps; index++)
{
float grossPay = hours[index] * payRate[index];
cout << "Employee #" << (index + 1);
cout << ": $" << grossPay << endl;
}
}
46
Starting Out with C++, 3rd
Edition
Program Output with Example Input
Enter the hours worked by 5 employees and their hourly rates.
hours worked by employee #1: 10 [Enter]
Hourly pay rate for employee #1: 9.75 [Enter]
hours worked by employee #2: 15 [Enter]
Hourly pay rate for employee #2: 8.62 [Enter]
hours worked by employee #3: 20 [Enter]
Hourly pay rate for employee #3: 10.50 [Enter]
hours worked by employee #4: 40 [Enter]
Hourly pay rate for employee #4: 18.75 [Enter]
hours worked by employee #5: 40 [Enter]
Hourly pay rate for employee #5: 15.65 [Enter]
Here is the gross pay for each employee:
Employee #1: $97.50
Employee #2: $129.30
Employee #3: $210.00
47
Starting Out with C++, 3rd
Edition
7.7 Thou Shalt Not Assign
• You cannot use the assignment operator to
copy one array’s contents to another.
for (int count=0; count < 4; count++)
newVal[count] = oldVal[count];
48
Starting Out with C++, 3rd
Edition
Table 7-2
Expression Value
O ld V a lu e s [ 0 ] 10 (Contents of Element 0 of O ld V a lu e s )
O ld V a lu e s [ 1 ] 100 (Contents of Element 1 of O ld V a lu e s )
O ld V a lu e s [ 2 ] 200 (Contents of Element 2 of O ld V a lu e s )
O ld V a lu e s [ 3 ] 300 (Contents of Element 3 of O ld V a lu e s )
N e w V a lu e s 8012 (Memory Address of N e w V a lu e s )
O ld V a lu e s 8024 (Memory Address of O ld V a lu e s )
49
Starting Out with C++, 3rd
Edition
7.8 Printing the Contents of an
Array
• To display the contents of an array, you
must use a loop to display the contents of
each element.
int array[5] = { 10, 20, 30, 40, 50 };
for (int count = 0; count < 5; count++)
cout << array[count] << endl;
50
Starting Out with C++, 3rd
Edition
7.9 Arrays As Function Arguments
• To pass an array as an argument to a
function, pass the name of the array.
51
Starting Out with C++, 3rd
Edition
Program 7-13
// This program demonstrates that an array element is passed
// to a function like any other variable.
#include <iostream.h>
void ShowValue(int); // Function prototype
void main(void)
{
int collection[8] = {5, 10, 15, 20, 25, 30, 35, 40};
for (int Cycle = 0; Cycle < 8; Cycle++)
ShowValue(collection[Cycle]);
}
52
Starting Out with C++, 3rd
Edition
Program continues
//************************************
// Definition of function showValue. *
// This function accepts an integer argument. *
// The value of the argument is displayed. *
//************************************
void ShowValue(int Num)
{
cout << Num << " ";
}
53
Starting Out with C++, 3rd
Edition
Program Output
5 10 15 20 25 30 35 40
54
Starting Out with C++, 3rd
Edition
Program 7-14
// This program demonstrates an array being passed to a function.
#include <iostream.h>
void showValues(int []); // Function prototype
void main(void)
{
int collection[8] = {5, 10, 15, 20, 25, 30, 35, 40};
showValues(collection); // Passing address of array collection
}
//***********************************************
// Definition of function showValues. *
// This function accepts an array of 8 integers *
// as its argument. The contents of the array *
// is displayed. *
//***********************************************
void showValues(int nums[])
{
for (int index = 0; index < 8; index++)
cout << nums[index] << " ";
}
55
Starting Out with C++, 3rd
Edition
Program Output
5 10 15 20 25 30 35 40
56
Starting Out with C++, 3rd
Edition
Program 7-15
// This program demonstrates an array being passed to a function.
#include <iostream.h>
void showValues(int []); // Function prototype
void main(void)
{
int set1[8] = {5, 10, 15, 20, 25, 30, 35, 40};
int set2[8] = {2, 4, 6, 8, 10, 12, 14, 16};
showValues(set1);
cout << endl;
showValues(set2);
}
//***********************************************
// Definition of function showValues. *
// This function accepts an array of 8 integers *
// as its argument. The contents of the array *
// is displayed. *
//***********************************************
void showValues(int nums[])
{
for (int index = 0; index < 8; index++)
cout << nums[index] << " ";
}
57
Starting Out with C++, 3rd
Edition
Program Output
5 10 15 20 25 30 35 40
2 4 6 8 10 12 14 16
58
Starting Out with C++, 3rd
Edition
Program 7-16
// This program uses a function that can display the contents
// of an integer array of any size.
#include <iostream.h>
void showValues(int [], int); // Function prototype
void main(void)
{
int set1[8] = {5, 10, 15, 20, 25, 30, 35, 40};
int set2[4] = {2, 4, 6, 8};
int set3[12] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
showValues(set1, 8);
cout << endl;
showValues(set2, 4);
cout << endl;
showValues(set3, 12);
}
59
Starting Out with C++, 3rd
Edition
Program continues
//***********************************************
// Definition of function showValues. *
// This function displays the contents of the *
// array passed into nums. The value passed *
// into elements is the number of elements in *
// the nums array. *
//***********************************************
void showValues(int nums[], int elements)
{
for (int index = 0; index < elements; index++)
cout << nums[index] << " ";
}
60
Starting Out with C++, 3rd
Edition
Program Output
5 10 15 20 25 30 35 40
2 4 6 8
1 2 3 4 5 6 7 8 9 10 11 12
61
Starting Out with C++, 3rd
Edition
Program 7-17
// This program uses a function that doubles the contents of
// the elements within an array.
#include <iostream.h>
void doubleArray(int [], int); // Function prototype
const int arraySize = 12;
void main(void)
{
int set[arraySize] = {1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12};
cout << "The arrays values are:n";
for (int index = 0; index < arraySize; index++)
cout << set[index] << " ";
cout << endl;
doubleArray(set, arraySize);
cout << "After calling doubleArray, the values are:n";
62
Starting Out with C++, 3rd
Edition
Program continues
for (int index = 0; index < arraySize; index++)
cout << set[index] << " ";
cout << endl;
}
//**************************************************
// Definition of function doubleArray. *
// This function doubles the value of each element *
// in the array passed into nums. *
// The value passed into size is the number of *
// elements in the nums array. *
//**************************************************
void doubleArray(int nums[], int size)
{
for (int index = 0; index < size; index++)
nums[index] *= 2;
}
63
Starting Out with C++, 3rd
Edition
Program Output
The array values are:
1 2 3 4 5 6 7 8 9 10 11 12
After calling doubleArray, the values are:
2 4 6 8 10 12 14 16 18 20 22 24
64
Starting Out with C++, 3rd
Edition
7.10 Two-dimensional Arrays
• A two-dimensional array is like several
identical arrays put together. It is useful for
storing multiple sets of data.
65
Starting Out with C++, 3rd
Edition
Program 7-18
// This program demonstrates a two-dimensional array.
#include <iostream.h>
void main(void)
{
float sales[3][4]; // 2D array, 3 rows and 4
columns.
float totalSales = 0; // To hold the total sales.
int dir, qtr; // Loop counters.
66
Starting Out with C++, 3rd
Edition
Program continues
cout << "This program will calculate the total sales ofn";
cout << "all the company's divisions.n";
cout << "Enter the following sales information:nn";
// Nested loops to fill the array with quarterly
// sales figures for each division.
for (div = 0; div < 3; div++)
{
for (qtr = 0; qtr < 4; qtr++)
{
cout << "Division " << (div + 1);
cout << ", Quarter " << (qtr + 1) << ": $";
cin >> sales[div][qtr];
}
cout << endl; // Print blank line.
}
67
Starting Out with C++, 3rd
Edition
Program continues
// Nested loops to add all the elements.
for (div = 0; div < 3; div++)
for (qtr = 0; qtr < 4; qtr++)
totalSales += sales[div][qtr];
cout.precision(2);
cout.setf(ios::fixed | ios::showpoint);
cout << "The total sales for the company are: $";
cout << totalSales << endl;
}
68
Starting Out with C++, 3rd
Edition
Program Output with Example Input
This program will calculate the total sales of
all the company's divisions.
Enter the following sales information:
Division 1, Quarter 1: $31569.45 [Enter]
Division 1, Quarter 2: $29654.23 [Enter]
Division 1, Quarter 3: $32982.54 [Enter]
Division 1, Quarter 4: $39651.21 [Enter]
Division 2, Quarter 1: $56321.02 [Enter]
Division 2, Quarter 2: $54128.63 [Enter]
Division 2, Quarter 3: $41235.85 [Enter]
Division 2, Quarter 4: $54652.33 [Enter]
69
Starting Out with C++, 3rd
Edition
Output continues
Division 3, Quarter 1: $29654.35 [Enter]
Division 3, Quarter 2: $28963.32 [Enter]
Division 3, Quarter 3: $25353.55 [Enter]
Division 3, Quarter 4: $32615.88 [Enter]
The total sales for the company are: $456782.34
70
Starting Out with C++, 3rd
Edition
Passing Two-dimensional Arrays to
Functions
• When a two-dimensional array is
passed to a function, the parameter
type must contain a size declarator for
the number of columns.
71
Starting Out with C++, 3rd
Edition
7.11 Arrays of Strings
• A two-dimensional array of characters can
be used as an array of C-strings.
72
Starting Out with C++, 3rd
Edition
Program 7-20
// This program displays the number of days in each month.
// It uses a two-dimensional character array to hold the
// names of the months and an int array to hold the number
// of days.
#include <iostream.h>
void main(void)
{
char months[12][10] = {"January", "February", "March",
"April", "May", "June",
"July", "August", "September”,
"October", "November","December"};
int days[12] = { 31, 28, 31, 30,
31, 30, 31, 31,
30, 31, 30, 31};
for (int count = 0; count < 12; count++)
{
cout << months[count] << " has ";
cout << days[count] << " days.n";
}
}
73
Starting Out with C++, 3rd
Edition
Program 7-20 (continued)
Program Output
January has 31 days.
February has 28 days.
March has 31 days.
April has 30 days.
May has 31 days.
June has 30 days.
July has 31 days.
August has 31 days.
September has 30 days.
October has 31 days.
November has 30 days.
December has 31 days.
74
Starting Out with C++, 3rd
Edition
Three Dimensional Arrays and
Beyond
• C++ allows you to create arrays with
virtually any number of dimensions.
• Here is an example of a three-dimensional
array declaration:
float seat[3][5][8];
75
Starting Out with C++, 3rd
Edition
7.14 Introduction to the STL
vector
• The Standard Template Library (or STL) is
a collection of data types and algorithms
that you may use in your programs. These
data types and algorithms are programmer-
defined. They are not part of the C++
language, but were created in addition to
the built-in data types.
76
Starting Out with C++, 3rd
Edition
7.14 Introduction to the STL
vector
• The data types that are defined in the STL
are commonly called containers, because
they store and organize data.
• There are two types of containers in the
STL: sequence containers and associative
containers.
• The vector data type is a sequence
container.
77
Starting Out with C++, 3rd
Edition
7.14 Introduction to the STL
vector
• A vector is like an array in the following
ways:
– A vector holds a sequence of values, or
elements.
– A vector stores its elements in contiguous
memory locations.
– You can use the array subscript operator [] to
read the individual elements in the vector
78
Starting Out with C++, 3rd
Edition
7.14 Introduction to the STL
vector
• However, a vector offers several
advantages over arrays. Here are just a few:
– You do not have to declare the number of
elements that the vector will have.
– If you add a value to a vector that is already
full, the vector will automatically increase its
size to accommodate the new value.
– vectors can report the number of elements
they contain.
79
Starting Out with C++, 3rd
Edition
Declaring a vector
• To use vectors in your program, you must
first #include the vector header file with
the following statement:
#include <vector>
Note: There is no .h at the end of the file
name.
80
Starting Out with C++, 3rd
Edition
Declaring a vector
• The next step is to include the following
statement after your #include statements:
using namespace std;
The STL uses namespaces to organize the
names of its data types and algorithms.
81
Starting Out with C++, 3rd
Edition
Declaring a vector
• Now you are ready to declare an actual
vector object. Here is an example:
vector<int> numbers;
The statement above declares numbers as
a vector of ints.
82
Starting Out with C++, 3rd
Edition
Declaring a vector
• You can declare a starting size, if you
prefer. Here is an example:
vector<int> numbers(10);
The statement above declares numbers as
a vector of 10 ints.
83
Starting Out with C++, 3rd
Edition
Other examples of vector
Declarations
Declaration Format Description
vector<float> amounts; Declares amounts as an empty vector
of floats.
vector<int> scores(15); Declares scores as a vector of 15
ints.
vector<char> letters(25, 'A'); Declares letters as a vector of 25
characters. Each element is initialized
with 'A'.
vector<double> values2(values1); Declares values2 as a vector of
doubles. All the elements of values1,
which also a vector of doubles, are
copied to value2.
84
Starting Out with C++, 3rd
Edition
Storing and Retrieving Values in
a vector
• To store a value in an element that already
exists in a vector, you may use the array
subscript operator [].
85
Starting Out with C++, 3rd
Edition
Program 7-23
// This program stores, in two vectors, the hours worked by 5
// employees, and their hourly pay rates.
#include <iostream.h>
#include <vector> // Needed to declare vectors
using namespace std;
void main(void)
{
vector<int> hours(5); // Declare a vector of 5 integers
vector<float> payRate(5); // Declare a vector of 5 floats
cout << "Enter the hours worked by 5 employees and theirn";
cout << "hourly rates.n";
for (int index = 0; index < 5; index++)
{
cout << "Hours worked by employee #" << (index + 1);
cout << ": ";
cin >> hours[index];
cout << "Hourly pay rate for employee #";
cout << (index + 1) << ": ";
cin >> payRate[index];
}
86
Starting Out with C++, 3rd
Edition
Program 7-23 (continued)
cout << "Here is the gross pay for each employee:n";
cout.precision(2);
cout.setf(ios::fixed | ios::showpoint);
for (index = 0; index < 5; index++)
{
float grossPay = hours[index] * payRate[index];
cout << "Employee #" << (index + 1);
cout << ": $" << grossPay << endl;
}
}
87
Starting Out with C++, 3rd
Edition
Program 7-23 (continued)
Program Output with Example Input Shown in Bold
Enter the hours worked by 5 employees and their
hourly rates.
Hours worked by employee #1: 10 [Enter]
Hourly pay rate for employee #1: 9.75 [Enter]
Hours worked by employee #2: 15 [Enter]
Hourly pay rate for employee #2: 8.62 [Enter]
Hours worked by employee #3: 20 [Enter]
Hourly pay rate for employee #3: 10.50 [Enter]
Hours worked by employee #4: 40 [Enter]
Hourly pay rate for employee #4: 18.75 [Enter]
Hours worked by employee #5: 40 [Enter]
Hourly pay rate for employee #5: 15.65 [Enter]
Here is the gross pay for each employee:
Employee #1: $97.50
Employee #2: $129.30
Employee #3: $210.00
Employee #4: $750.00
Employee #5: $626.00
88
Starting Out with C++, 3rd
Edition
Using the push_back Member
Function
• You cannot use the [] operator to access a
vector element that does not exist.
• To store a value in a vector that does not
have a starting size, or is already full, use
the push_back member function. Here is
an example:
numbers.push_back(25);
89
Starting Out with C++, 3rd
Edition
Program 7-24
// This program stores, in two vectors, the hours worked by a specified
// number of employees, and their hourly pay rates.
#include <iostream.h>
#include <vector> // Needed to declare vectors
using namespace std;
void main(void)
{
vector<int> hours; // hours is an empty vector
vector<float> payRate; // payRate is an empty vector
int numEmployees; // The number of employees
cout << "How many employees do you have? ";
cin >> numEmployees;
cout << "Enter the hours worked by " << numEmployees;
cout << " employees and their hourly rates.n";
90
Starting Out with C++, 3rd
Edition
Program 7-24 (continued)
for (int index = 0; index < numEmployees; index++)
{
int tempHours; // To hold the number of hours entered
float tempRate; // To hold the payrate entered
cout << "Hours worked by employee #" << (index + 1);
cout << ": ";
cin >> tempHours;
hours.push_back(tempHours); // Add an element to hours
cout << "Hourly pay rate for employee #";
cout << (index + 1) << ": ";
cin >> tempRate;
payRate.push_back(tempRate); // Add an element to payRate
}
cout << "Here is the gross pay for each employee:n";
cout.precision(2);
cout.setf(ios::fixed | ios::showpoint);
for (index = 0; index < numEmployees; index++)
{
float grossPay = hours[index] * payRate[index];
cout << "Employee #" << (index + 1);
cout << ": $" << grossPay << endl;
}
}
91
Starting Out with C++, 3rd
Edition
Program 7-24 (continued)
Program Output with Example Input Shown in Bold
How many employees do you have? 3 [Enter]
Enter the hours worked by 3 employees and their hourly rates.
Hours worked by employee #1: 40 [Enter]
Hourly pay rate for employee #1: 12.63 [Enter]
Hours worked by employee #2: 25 [Enter]
Hourly pay rate for employee #2: 10.35 [Enter]
Hours worked by employee #3: 45 [Enter]
Hourly pay rate for employee #3: 22.65 [Enter]
Here is the gross pay for each employee:
Employee #1: $505.20
Employee #2: $258.75
Employee #3: $1019.25
92
Starting Out with C++, 3rd
Edition
Determining the Size of a
vector
• Unlike arrays, vectors can report the number of elements
they contain. This is accomplished with the size member
function. Here is an example of a statement that uses the
size member function:
numValues = set.size();
• In the statement above, assume that numValues is an
int, and set is a vector. After the statement executes,
numValues will contain the number of elements in the
vector set.
93
Starting Out with C++, 3rd
Edition
Determining the Size of a
vector
• Example:
void showValues(vector<int> vect)
{
for (int count = 0; count < vect.size(); count++)
cout << vect[count] << endl;
}
94
Starting Out with C++, 3rd
Edition
Program 7-25
// This program demonstrates the vector size
// member function.
#include <iostream.h>
#include <vector>
using namespace std;
// Function prototype
void showValues(vector<int>);
void main(void)
{
vector<int> values;
for (int count = 0; count < 7; count++)
values.push_back(count * 2);
showValues(values);
}
95
Starting Out with C++, 3rd
Edition
Program 7-25 (continued)
//**************************************************
// Definition of function showValues. *
// This function accepts an int vector as its *
// argument. The value of each of the vector's *
// elements is displayed. *
//**************************************************
void showValues(vector<int> vect)
{
for (int count = 0; count < vect.size(); count++)
cout << vect[count] << endl;
}
96
Starting Out with C++, 3rd
Edition
Program 7-25 (continued)
Program Output
0
2
4
6
8
10
12
97
Starting Out with C++, 3rd
Edition
Removing Elements from a
vector
• Use the pop_back member function to
remove the last element from a vector.
collection.pop_back();
The statement above removes the last
element from the collection vector.
98
Starting Out with C++, 3rd
Edition
Program 7-26
// This program demosntrates the vector size member function.
#include <iostream.h>
#include <vector>
using namespace std;
void main(void)
{
vector<int> values;
// Store values in the vector
values.push_back(1);
values.push_back(2);
values.push_back(3);
cout << "The size of values is " << values.size() << endl;
// Remove a value from the vector
cout << "Popping a value from the vector...n";
values.pop_back();
cout << "The size of values is now " << values.size() << endl;
99
Starting Out with C++, 3rd
Edition
Program 7-26 (continued)
// Now remove another value from the vector
cout << "Popping a value from the vector...n";
values.pop_back();
cout << "The size of values is now " << values.size() << endl;
// Remove the last value from the vector
cout << "Popping a value from the vector...n";
values.pop_back();
cout << "The size of values is now " << values.size() << endl;
}
Program Output
The size of values is 3
Popping a value from the vector...
The size of values is now 2
Popping a value from the vector...
The size of values is now 1
Popping a value from the vector...
The size of values is now 0
100
Starting Out with C++, 3rd
Edition
Clearing a vector
• To completely clear the contents of a
vector, use the clear member function.
Here is an example:
numbers.clear();
After the statement above executes, the
numbers vector will be cleared of all its
elements.
101
Starting Out with C++, 3rd
Edition
Program 7-27
// This program demosntrates the vector size member function.
#include <iostream.h>
#include <vector>
using namespace std;
void main(void)
{
vector<int> values(100);
cout << "The values vector has “
<< values.size() << " elements.n";
cout << "I will call the clear member function...n";
values.clear();
cout << "Now, the values vector has “
<< values.size() << " elements.n";
}
102
Starting Out with C++, 3rd
Edition
Program 7-27 (continued)
Program Output
The values vector has 100 elements.
I will call the clear member function...
Now, the values vector has 0 elements.
103
Starting Out with C++, 3rd
Edition
Detecting an Empty vector
• To determine if a vector is empty, use the
empty member function. The function
returns true if the vector is empty, and
false if the vector has elements stored
in it. Here is an example of its use:
if (set.empty())
cout << "No values in set.n";
104
Starting Out with C++, 3rd
Edition
Program 7-28
// This program demosntrates the vector's empty member function.
#include <iostream.h>
#include <vector>
using namespace std;
// Function prototype
float avgVector(vector<int>);
void main(void)
{
vector<int> values;
int numValues;
float average;
cout << "How many values do you wish to average? ";
cin >> numValues;
105
Starting Out with C++, 3rd
Edition
Program 7-28 (continued)
for (int count = 0; count < numValues; count++)
{
int tempValue;
cout << "Enter a value: ";
cin >> tempValue;
values.push_back(tempValue);
}
average = avgVector(values);
cout << "Average: " << average << endl;
}
//*************************************************************
// Definition of function avgVector. *
// This function accepts an int vector as its argument. If *
// the vector contains values, the function returns the *
// average of those values. Otherwise, an error message is *
// displayed and the function returns 0.0. *
//*************************************************************
106
Starting Out with C++, 3rd
Edition
Program 7-28 (continued)
float avgVector(vector<int> vect)
{
int total = 0; // accumulator
float avg; // average
if (vect.empty()) // Determine if the vector is empty
{
cout << "No values to average.n";
avg = 0.0;
}
else
{
for (int count = 0; count < vect.size(); count++)
total += vect[count];
avg = total / vect.size();
}
return avg;
}
107
Starting Out with C++, 3rd
Edition
Program 7-28 (continued)
Program Output with Example Input Shown in Bold
How many values do you wish to average?
Enter a value: 12
Enter a value: 18
Enter a value: 3
Enter a value: 7
Enter a value: 9
Average: 9
Program Output with Example Input Shown in Bold
How many values do you wish to average? 0
No values to average.
Average: 0
108
Starting Out with C++, 3rd
Edition
Summary of vector Member
Functions
Member Function Description
at(element) Returns the value of the element located at element in the
vector.
Example:
x = vect.at(5);
The statement above assigns the value of the 5th
element of
vect to x.
capacity() Returns the maximum number of elements that may be stored
in the vector without additional memory being allocated.
(This is not the same value as returned by the size member
function).
Example:
x = vect.capacity();
The statement above assigns the capacity of vect to x.
109
Starting Out with C++, 3rd
Edition
Summary of vector Member
Functions
clear() Clears a vector of all its elements.
Example:
vect.clear();
The statement above removes all the elements from vect.
empty() Returns true if the vector is empty. Otherwise, it returns false.
Example:
if (vect.empty())
cout << "The vector is empty.";
The statement above displays the message if vect is empty.
pop_back() Removes the last element from the vector.
Example:
vect.pop_back();
The statement above removes the last element of vect, thus
reducing its size by 1.
110
Starting Out with C++, 3rd
Edition
Summary of vector Member
Functions
push_back(value) Stores a value in the last element of the vector. If the vector is
full or empty, a new element is created.
Example:
vect.push_back(7);
The statement above stores 7 in the last element of vect.
reverse() Reverses the order of the elements in the vector (the last
element becomes the first element, and the first element
becomes the last element.)
Example:
vect.reverse();
The statement above reverses the order of the element in
vect.
resize(elements,
value)
Resizes a vector by elements elements. Each of the new
elements is initialized with the value in value.
Example:
vect.resize(5, 1);
The statement above increases the size of vect by 5
elements. The 5 new elements are initialized to the value 1.
111
Starting Out with C++, 3rd
Edition
Summary of vector Member
Functions
swap(vector2) Swaps the contents of the vector with the contents of vector2.
Example:
vect1.swap(vect2);
The statement above swaps the contents of vect1 and
vect2.

More Related Content

What's hot

Fun with Lambdas: C++14 Style (part 1)
Fun with Lambdas: C++14 Style (part 1)Fun with Lambdas: C++14 Style (part 1)
Fun with Lambdas: C++14 Style (part 1)Sumant Tambe
 
Lab manual data structure (cs305 rgpv) (usefulsearch.org) (useful search)
Lab manual data structure (cs305 rgpv) (usefulsearch.org)  (useful search)Lab manual data structure (cs305 rgpv) (usefulsearch.org)  (useful search)
Lab manual data structure (cs305 rgpv) (usefulsearch.org) (useful search)Make Mannan
 
Presentation1 computer shaan
Presentation1 computer shaanPresentation1 computer shaan
Presentation1 computer shaanwalia Shaan
 
Assignment Examples Final 07 Oct
Assignment Examples Final 07 OctAssignment Examples Final 07 Oct
Assignment Examples Final 07 OctSriram Raj
 
Data Structure in C (Lab Programs)
Data Structure in C (Lab Programs)Data Structure in C (Lab Programs)
Data Structure in C (Lab Programs)Saket Pathak
 
CS6311- PROGRAMMING & DATA STRUCTURE II LABORATORY
CS6311- PROGRAMMING & DATA STRUCTURE II LABORATORYCS6311- PROGRAMMING & DATA STRUCTURE II LABORATORY
CS6311- PROGRAMMING & DATA STRUCTURE II LABORATORYRadha Maruthiyan
 
Ds lab manual by s.k.rath
Ds lab manual by s.k.rathDs lab manual by s.k.rath
Ds lab manual by s.k.rathSANTOSH RATH
 
Bakery Algorithm
Bakery Algorithm Bakery Algorithm
Bakery Algorithm thededar
 
Data structures lab manual
Data structures lab manualData structures lab manual
Data structures lab manualSyed Mustafa
 
Data structure new lab manual
Data structure  new lab manualData structure  new lab manual
Data structure new lab manualSANTOSH RATH
 
Data Structures Practical File
Data Structures Practical File Data Structures Practical File
Data Structures Practical File Harjinder Singh
 

What's hot (19)

Fun with Lambdas: C++14 Style (part 1)
Fun with Lambdas: C++14 Style (part 1)Fun with Lambdas: C++14 Style (part 1)
Fun with Lambdas: C++14 Style (part 1)
 
Lab manual data structure (cs305 rgpv) (usefulsearch.org) (useful search)
Lab manual data structure (cs305 rgpv) (usefulsearch.org)  (useful search)Lab manual data structure (cs305 rgpv) (usefulsearch.org)  (useful search)
Lab manual data structure (cs305 rgpv) (usefulsearch.org) (useful search)
 
Presentation1 computer shaan
Presentation1 computer shaanPresentation1 computer shaan
Presentation1 computer shaan
 
Assignment Examples Final 07 Oct
Assignment Examples Final 07 OctAssignment Examples Final 07 Oct
Assignment Examples Final 07 Oct
 
Data struture lab
Data struture labData struture lab
Data struture lab
 
Data Structure in C (Lab Programs)
Data Structure in C (Lab Programs)Data Structure in C (Lab Programs)
Data Structure in C (Lab Programs)
 
CS6311- PROGRAMMING & DATA STRUCTURE II LABORATORY
CS6311- PROGRAMMING & DATA STRUCTURE II LABORATORYCS6311- PROGRAMMING & DATA STRUCTURE II LABORATORY
CS6311- PROGRAMMING & DATA STRUCTURE II LABORATORY
 
Ds lab manual by s.k.rath
Ds lab manual by s.k.rathDs lab manual by s.k.rath
Ds lab manual by s.k.rath
 
Bakery Algorithm
Bakery Algorithm Bakery Algorithm
Bakery Algorithm
 
C lab excellent
C lab excellentC lab excellent
C lab excellent
 
Data structures lab manual
Data structures lab manualData structures lab manual
Data structures lab manual
 
Array notes
Array notesArray notes
Array notes
 
Data structure new lab manual
Data structure  new lab manualData structure  new lab manual
Data structure new lab manual
 
Code optimization
Code optimization Code optimization
Code optimization
 
Ds lab handouts
Ds lab handoutsDs lab handouts
Ds lab handouts
 
VTU Data Structures Lab Manual
VTU Data Structures Lab ManualVTU Data Structures Lab Manual
VTU Data Structures Lab Manual
 
C program
C programC program
C program
 
Rx for .net
Rx for .netRx for .net
Rx for .net
 
Data Structures Practical File
Data Structures Practical File Data Structures Practical File
Data Structures Practical File
 

Similar to Ch7

Labsheet 6 - FP 201
Labsheet 6 - FP 201Labsheet 6 - FP 201
Labsheet 6 - FP 201rohassanie
 
C programming & data structure [arrays & pointers]
C programming & data structure   [arrays & pointers]C programming & data structure   [arrays & pointers]
C programming & data structure [arrays & pointers]MomenMostafa
 
Introduction to cpp
Introduction to cppIntroduction to cpp
Introduction to cppNilesh Dalvi
 
programming in C++ report
programming in C++ reportprogramming in C++ report
programming in C++ reportvikram mahendra
 
Practical basics on c++
Practical basics on c++Practical basics on c++
Practical basics on c++Marco Izzotti
 
Mid term sem 2 1415 sol
Mid term sem 2 1415 solMid term sem 2 1415 sol
Mid term sem 2 1415 solIIUM
 
ParallelProgrammingBasics_v2.pdf
ParallelProgrammingBasics_v2.pdfParallelProgrammingBasics_v2.pdf
ParallelProgrammingBasics_v2.pdfChen-Hung Hu
 
basics of C and c++ by eteaching
basics of C and c++ by eteachingbasics of C and c++ by eteaching
basics of C and c++ by eteachingeteaching
 
Assignement of programming & problem solving
Assignement of programming & problem solvingAssignement of programming & problem solving
Assignement of programming & problem solvingSyed Umair
 
friends functionToshu
friends functionToshufriends functionToshu
friends functionToshuSidd Singh
 
OOPS using C++
OOPS using C++OOPS using C++
OOPS using C++cpjcollege
 
54602399 c-examples-51-to-108-programe-ee01083101
54602399 c-examples-51-to-108-programe-ee0108310154602399 c-examples-51-to-108-programe-ee01083101
54602399 c-examples-51-to-108-programe-ee01083101premrings
 
C++20 the small things - Timur Doumler
C++20 the small things - Timur DoumlerC++20 the small things - Timur Doumler
C++20 the small things - Timur Doumlercorehard_by
 

Similar to Ch7 (20)

Pointer
PointerPointer
Pointer
 
Labsheet 6 - FP 201
Labsheet 6 - FP 201Labsheet 6 - FP 201
Labsheet 6 - FP 201
 
C programming & data structure [arrays & pointers]
C programming & data structure   [arrays & pointers]C programming & data structure   [arrays & pointers]
C programming & data structure [arrays & pointers]
 
Introduction to cpp
Introduction to cppIntroduction to cpp
Introduction to cpp
 
programming in C++ report
programming in C++ reportprogramming in C++ report
programming in C++ report
 
Practical basics on c++
Practical basics on c++Practical basics on c++
Practical basics on c++
 
CP 04.pptx
CP 04.pptxCP 04.pptx
CP 04.pptx
 
Mid term sem 2 1415 sol
Mid term sem 2 1415 solMid term sem 2 1415 sol
Mid term sem 2 1415 sol
 
c++ referesher 1.pdf
c++ referesher 1.pdfc++ referesher 1.pdf
c++ referesher 1.pdf
 
ParallelProgrammingBasics_v2.pdf
ParallelProgrammingBasics_v2.pdfParallelProgrammingBasics_v2.pdf
ParallelProgrammingBasics_v2.pdf
 
basics of C and c++ by eteaching
basics of C and c++ by eteachingbasics of C and c++ by eteaching
basics of C and c++ by eteaching
 
Session 5-exersice
Session 5-exersiceSession 5-exersice
Session 5-exersice
 
Chapter1.pptx
Chapter1.pptxChapter1.pptx
Chapter1.pptx
 
I PUC CS Lab_programs
I PUC CS Lab_programsI PUC CS Lab_programs
I PUC CS Lab_programs
 
Assignement of programming & problem solving
Assignement of programming & problem solvingAssignement of programming & problem solving
Assignement of programming & problem solving
 
friends functionToshu
friends functionToshufriends functionToshu
friends functionToshu
 
OOPS using C++
OOPS using C++OOPS using C++
OOPS using C++
 
54602399 c-examples-51-to-108-programe-ee01083101
54602399 c-examples-51-to-108-programe-ee0108310154602399 c-examples-51-to-108-programe-ee01083101
54602399 c-examples-51-to-108-programe-ee01083101
 
C++20 the small things - Timur Doumler
C++20 the small things - Timur DoumlerC++20 the small things - Timur Doumler
C++20 the small things - Timur Doumler
 
C-LOOP-Session-2.pptx
C-LOOP-Session-2.pptxC-LOOP-Session-2.pptx
C-LOOP-Session-2.pptx
 

More from sanya6900

.Net framework
.Net framework.Net framework
.Net frameworksanya6900
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IISsanya6900
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IISsanya6900
 
Type conversions
Type conversionsType conversions
Type conversionssanya6900
 
Templates exception handling
Templates exception handlingTemplates exception handling
Templates exception handlingsanya6900
 
operators and expressions in c++
 operators and expressions in c++ operators and expressions in c++
operators and expressions in c++sanya6900
 
Memory allocation
Memory allocationMemory allocation
Memory allocationsanya6900
 
File handling in_c
File handling in_cFile handling in_c
File handling in_csanya6900
 
Cpphtp4 ppt 03
Cpphtp4 ppt 03Cpphtp4 ppt 03
Cpphtp4 ppt 03sanya6900
 
Inheritance (1)
Inheritance (1)Inheritance (1)
Inheritance (1)sanya6900
 
C++ overloading
C++ overloadingC++ overloading
C++ overloadingsanya6900
 
C cpluplus 2
C cpluplus 2C cpluplus 2
C cpluplus 2sanya6900
 

More from sanya6900 (13)

.Net framework
.Net framework.Net framework
.Net framework
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IIS
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IIS
 
Type conversions
Type conversionsType conversions
Type conversions
 
Templates exception handling
Templates exception handlingTemplates exception handling
Templates exception handling
 
operators and expressions in c++
 operators and expressions in c++ operators and expressions in c++
operators and expressions in c++
 
Memory allocation
Memory allocationMemory allocation
Memory allocation
 
File handling in_c
File handling in_cFile handling in_c
File handling in_c
 
Cpphtp4 ppt 03
Cpphtp4 ppt 03Cpphtp4 ppt 03
Cpphtp4 ppt 03
 
Inheritance (1)
Inheritance (1)Inheritance (1)
Inheritance (1)
 
C++ overloading
C++ overloadingC++ overloading
C++ overloading
 
Pointers
PointersPointers
Pointers
 
C cpluplus 2
C cpluplus 2C cpluplus 2
C cpluplus 2
 

Recently uploaded

(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 

Recently uploaded (20)

(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 

Ch7

  • 1. 1 Starting Out with C++, 3rd Edition Chapter 7 – Arrays
  • 2. 2 Starting Out with C++, 3rd Edition 7.1 Arrays Hold Multiple values • Unlike regular variables, arrays can hold multiple values.
  • 3. 3 Starting Out with C++, 3rd Edition Figure 7-1 int count Enough memory for 1 int 12345 float price Enough memory for 1 float 56.981 char letter Enough memory for 1 char A
  • 4. 4 Starting Out with C++, 3rd Edition Figure 7-2
  • 5. 5 Starting Out with C++, 3rd Edition Table 7-1 Array Declaration Number of Elements Size of Each Element S ize of the Array c h a r l e t t e r s [ 2 5 ] ; 25 1 byte 25 bytes s h o r t r i n g s [ 1 0 0 ] ; 100 2 bytes 200 bytes i n t m i l e s [ 8 4 ] ; 84 4 bytes 336 bytes f l o a t t e m p [ 1 2 ] ; 12 4 bytes 48 bytes d o u b l e d D i s t a n c e [ 1 0 0 0 ] ; 1000 8 bytes 8000 bytes
  • 6. 6 Starting Out with C++, 3rd Edition 7.2 Accessing Array elements • The individual elements of an array are assigned unique subscripts. These subscripts are used to access the elements.
  • 7. 7 Starting Out with C++, 3rd Edition Program 7-1 // This program asks the user for the number of hours worked // by 6 employees. It uses a 6-element int array to store the // values. #include <iostream.h> void main(void) { short hours[6]; cout << "Enter the hours worked by six employees: "; cin >> hours[0]; cin >> hours[1]; cin >> hours[2]; cin >> hours[3];
  • 8. 8 Starting Out with C++, 3rd Edition Program continues cin >> hours[4]; cin >> hours[5]; cout << "The hours you entered are:"; cout << " " << hours[0]; cout << " " << hours[1]; cout << " " << hours[2]; cout << " " << hours[3]; cout << " " << hours[4]; cout << " " << hours[5] << endl; }
  • 9. 9 Starting Out with C++, 3rd Edition Program Output with Example Input Enter the hours worked by six employees: 20 12 40 30 30 15 [Enter] The hours you entered are: 20 12 40 30 30 15
  • 10. 10 Starting Out with C++, 3rd Edition Figure 7-7
  • 11. 11 Starting Out with C++, 3rd Edition Program 7-2 // This program asks the user for the number of hours worked // by 6 employees. It uses a 6-element short array to store the // values. #include <iostream.h> void main(void) { short hours[6]; cout << "Enter the hours worked by six employees: "; for (int count = 0; count < 6; count++) cin >> hours[count]; cout << "The hours you entered are:"; for (count = 0; count < 6; count++) cout << " " << hours[count]; cout << endl; }
  • 12. 12 Starting Out with C++, 3rd Edition Program Output with Example Input Enter the hours worked by six employees: 20 12 40 30 30 15 [Enter] The hours you entered are: 20 12 40 30 30 15
  • 13. 13 Starting Out with C++, 3rd Edition Program 7-3 // This program asks the user for the number of hours worked // by 6 employees. It uses a 6-element short array to store the // values. #include<iostream.h> void main(void) { short hours[6]; cout << "Enter the hours worked by six employees.n"; for (int count = 1; count <= 6; count++) { cout << "Employee " << count << ": "; cin >> hours[count - 1]; } cout << "The hours you entered aren";
  • 14. 14 Starting Out with C++, 3rd Edition Program continues for (count = 1; count <= 6; count++) { cout << "Employee " << count << ": "; cout << hours[count - 1] << endl; } }
  • 15. 15 Starting Out with C++, 3rd Edition Program Output with Example Input Enter the hours worked by six employees. Employee 1: 20 [Enter] Employee 2: 12 [Enter] Employee 3: 40 [Enter] Employee 4: 30 [Enter] Employee 5: 30 [Enter] Employee 6: 15 [Enter] The hours you entered are Employee 1: 20 Employee 2: 12 Employee 3: 40 Employee 4: 30 Employee 5: 30 Employee 6: 15
  • 16. 16 Starting Out with C++, 3rd Edition 7.3 No Bounds Checking in C++ • C++ gives you the freedom to store data past an array’s boundaries.
  • 17. 17 Starting Out with C++, 3rd Edition Program 7-4 // This program unsafely accesses an area of memory by writing // values beyond an array's boundary. // WARNING: If you compile and run this program, it could cause // the computer to crash. #include <iostream.h> void main(void) { short values[3]; // An array of 3 short integers. cout << "I will store 5 numbers in a 3 element array!n"; for (int count = 0; count < 5; count++) values[count] = 100; cout << "If you see this message, it means the computern"; cout << "has not crashed! Here are the numbers:n"; for (int count = 0; count < 5; count++) cout << values[count] << endl; }
  • 18. 18 Starting Out with C++, 3rd Edition Figure 7-8
  • 19. 19 Starting Out with C++, 3rd Edition 7.4 Array Initialization • Arrays may be initialized when they are declared.
  • 20. 20 Starting Out with C++, 3rd Edition Program 7-5 // This program displays the number of days in each month. // It uses a 12-element int array. #include <iostream.h> void main(void) { int days[12]; days[0] = 31; // January days[1] = 28; // February days[2] = 31; // March days[3] = 30; // April days[4] = 31; // May days[5] = 30; // June days[6] = 31; // July
  • 21. 21 Starting Out with C++, 3rd Edition Program continues days[7] = 31; // August days[8] = 30; // September days[9] = 31; // October days[10] = 30; // November days[11] = 31; // December for (int count = 0; count < 12; count++) { cout << "Month " << (count + 1) << " has "; cout << days[count] << " days.n"; } }
  • 22. 22 Starting Out with C++, 3rd Edition Program Output Month 1 has 31 days. Month 2 has 28 days. Month 3 has 31 days. Month 4 has 30 days. Month 5 has 31 days. Month 6 has 30 days. Month 7 has 31 days. Month 8 has 31 days. Month 9 has 30 days. Month 10 has 31 days. Month 11 has 30 days. Month 12 has 31 days.
  • 23. 23 Starting Out with C++, 3rd Edition Program 7-6 // This program displays the number of days in each month. // It uses a 12-element int array. #include <iostream.h> void main(void) { int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; for (int count = 0; count < 12; count++) { cout << "Month " << (count + 1) << " has "; cout << days[count] << " days.n"; } }
  • 24. 24 Starting Out with C++, 3rd Edition Program Output Month 1 has 31 days. Month 2 has 28 days. Month 3 has 31 days. Month 4 has 30 days. Month 5 has 31 days. Month 6 has 30 days. Month 7 has 31 days. Month 8 has 31 days. Month 9 has 30 days. Month 10 has 31 days. Month 11 has 30 days. Month 12 has 31 days.
  • 25. 25 Starting Out with C++, 3rd Edition Program 7-7 // This program uses an array of ten characters to store the // first ten letters of the alphabet. The ASCII codes of the // characters are displayed. #include <iostream.h> void main(void) { char letters[10] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'}; cout << "Character" << "t" << "ASCII Coden"; cout << "--------" << "t" << "----------n"; for (int count = 0; count < 10; count++) { cout << letters[count] << "tt"; cout << int(letters[count]) << endl; } }
  • 26. 26 Starting Out with C++, 3rd Edition Program Output Character ASCII Code --------- ---------- A 65 B 66 C 67 D 68 E 69 F 70 G 71 H 72 I 73 J 74
  • 27. 27 Starting Out with C++, 3rd Edition Partial Array Initialization • When an array is being initialized, C++ does not require a value for every element. int numbers[7] = {1, 2, 4, 8};
  • 28. 28 Starting Out with C++, 3rd Edition Program 7-8 // This program has a partially initialized array. #include <iostream.h> void main(void) { int numbers[7] = {1, 2, 4, 8}; // Initialize the // first 4 elements. cout << "Here are the contents of the array:n"; for (int index = 0; index < 7; index++) cout << numbers[index] << endl; }
  • 29. 29 Starting Out with C++, 3rd Edition Program Output Here are the contents of the array: 1 2 4 8 0 0 0
  • 30. 30 Starting Out with C++, 3rd Edition Implicit Array Sizing • It is possible to declare an array without specifying its size, as long as you provide an initialization list. float ratings[] = {1.0, 1.5, 2.0, 2.5, 3.0};
  • 31. 31 Starting Out with C++, 3rd Edition Initializing With Strings • When initializing a character array with a string, simply enclose the string in quotation marks: char name[] = “Warren”;
  • 32. 32 Starting Out with C++, 3rd Edition Figure 7-11
  • 33. 33 Starting Out with C++, 3rd Edition Program 7-9 // This program displays the contents of two char arrays. #include <iostream.h> void main(void) { char name1[] = "Holly"; char name2[] = {'W', 'a', 'r', 'r', 'e', 'n', '0'}; cout << name1 << endl; cout << name2 << endl; }
  • 34. 34 Starting Out with C++, 3rd Edition Program Output Holly Warren
  • 35. 35 Starting Out with C++, 3rd Edition 7.5 Processing Array Contents • Individual array elements are processed like any other type of variable.
  • 36. 36 Starting Out with C++, 3rd Edition Program 7-10 // This program stores, in an array, the hours worked by 5 // employees who all make the same hourly wage. #include <iostream.h> void main(void) { int hours[5]; float payRate; cout << "Enter the hours worked by 5 employees who alln"; cout << "earn the same hourly rate.n"; for (int index = 0; index < 5; index++) { cout << "Employee #" << (index + 1) << ": "; cin >> hours[index]; }
  • 37. 37 Starting Out with C++, 3rd Edition Program continues cout << "Enter the hourly pay rate for all the employees: "; cin >> payRate; cout << "Here is the gross pay for each employee:n"; cout.precision(2); cout.setf(ios::fixed | ios::showpoint); for (index = 0; index < 5; index++) { float grossPay = hours[index] * payRate; cout << "Employee #" << (index + 1); cout << ": $" << grossPay << endl; } }
  • 38. 38 Starting Out with C++, 3rd Edition Program Output with Example Input Enter the hours worked by 5 employees who all earn the same hourly rate. Employee #1: 5 [Enter] Employee #2: 10 [Enter] Employee #3: 15 [Enter] Employee #4: 20 [Enter] Employee #5: 40 [Enter] Enter the hourly pay rate for all the employees: 12.75 [Enter] Here is the gross pay for each employee: Employee #1: $63.75 Employee #2: $127.50 Employee #3: $191.25 Employee #4: $255.00 Employee #5: $510.00
  • 39. 39 Starting Out with C++, 3rd Edition Program 7-11 // This program stores, in an array, the hours worked by 5 // employees who all make the same hourly wage. It then // displays the gross pay, including any overtime. #include <iostream.h> // Constant for defining the array size void main(void) { int hours[5]; float payRate; cout << "Enter the hours worked by 5 employees who alln"; cout << "earn the same hourly rate.n"; for (int index = 0; index < 5; index++) { cout << "Employee #" << (index + 1) << ": "; cin >> hours[index]; }
  • 40. 40 Starting Out with C++, 3rd Edition Program continues cout << "Enter the hourly pay rate for all the employees: "; cin >> payRate; cout << "Here is the gross pay for each employee:n"; cout.precision(2); cout.setf(ios::fixed | ios::showpoint); for (index = 0; index < 5; index++) { float grossPay, overTime; if (hours[index] > 40) { // Calculate pay for 40 hours. grossPay = 40 * payRate; // Calculate overtime pay. overTime = (hours[index] - 40) * 1.5 * payRate; // Add regular pay and overtime pay. grossPay += overTime; }
  • 41. 41 Starting Out with C++, 3rd Edition Program continues else grossPay = hours[index] * payRate; cout << "Employee #" << (index + 1); cout << ": $" << grossPay << endl; } }
  • 42. 42 Starting Out with C++, 3rd Edition Program Output with Example Input Enter the hours worked by 5 employees who all earn the same hourly rate. Employee #1: 10 [Enter] Employee #2: 20 [Enter] Employee #3: 50 [Enter] Employee #4: 40 [Enter] Employee #5: 60 [Enter] Enter the hourly pay rate for all the employees: 12.75 [Enter] Here is the gross pay for each employee: Employee #1: $127.50 Employee #2: $255.00 Employee #3: $701.25 Employee #4: $510.00 Employee #5: $892.50
  • 43. 43 Starting Out with C++, 3rd Edition 7.6 Focus on Software Engineering: Parallel Arrays • By using he same subscript, you can build relationships between data stored in two or more arrays.
  • 44. 44 Starting Out with C++, 3rd Edition Program 7-12 // This program stores, in two arrays, the hours worked by 5 // employees, and their hourly pay rates. #include <iostream.h> // Constant for defining the array size const int numEmps = 5; void main(void) { int hours[numEmps]; float payRate[numEmps]; cout << "Enter the hours worked by “ << numEmps << “ employees and theirn"; cout << "hourly rates.n"; for (int index = 0; index < numEmps; index++) { cout << "hours worked by employee #" << (index + 1); cout << ": ";
  • 45. 45 Starting Out with C++, 3rd Edition Program continues cin >> hours[index]; cout << "Hourly pay rate for employee #"; cout << (index + 1) << ": "; cin >> payRate[index]; } cout << "Here is the gross pay for each employee:n"; cout.precision(2); cout.setf(ios::fixed | ios::showpoint); for (index = 0; index < numEmps; index++) { float grossPay = hours[index] * payRate[index]; cout << "Employee #" << (index + 1); cout << ": $" << grossPay << endl; } }
  • 46. 46 Starting Out with C++, 3rd Edition Program Output with Example Input Enter the hours worked by 5 employees and their hourly rates. hours worked by employee #1: 10 [Enter] Hourly pay rate for employee #1: 9.75 [Enter] hours worked by employee #2: 15 [Enter] Hourly pay rate for employee #2: 8.62 [Enter] hours worked by employee #3: 20 [Enter] Hourly pay rate for employee #3: 10.50 [Enter] hours worked by employee #4: 40 [Enter] Hourly pay rate for employee #4: 18.75 [Enter] hours worked by employee #5: 40 [Enter] Hourly pay rate for employee #5: 15.65 [Enter] Here is the gross pay for each employee: Employee #1: $97.50 Employee #2: $129.30 Employee #3: $210.00
  • 47. 47 Starting Out with C++, 3rd Edition 7.7 Thou Shalt Not Assign • You cannot use the assignment operator to copy one array’s contents to another. for (int count=0; count < 4; count++) newVal[count] = oldVal[count];
  • 48. 48 Starting Out with C++, 3rd Edition Table 7-2 Expression Value O ld V a lu e s [ 0 ] 10 (Contents of Element 0 of O ld V a lu e s ) O ld V a lu e s [ 1 ] 100 (Contents of Element 1 of O ld V a lu e s ) O ld V a lu e s [ 2 ] 200 (Contents of Element 2 of O ld V a lu e s ) O ld V a lu e s [ 3 ] 300 (Contents of Element 3 of O ld V a lu e s ) N e w V a lu e s 8012 (Memory Address of N e w V a lu e s ) O ld V a lu e s 8024 (Memory Address of O ld V a lu e s )
  • 49. 49 Starting Out with C++, 3rd Edition 7.8 Printing the Contents of an Array • To display the contents of an array, you must use a loop to display the contents of each element. int array[5] = { 10, 20, 30, 40, 50 }; for (int count = 0; count < 5; count++) cout << array[count] << endl;
  • 50. 50 Starting Out with C++, 3rd Edition 7.9 Arrays As Function Arguments • To pass an array as an argument to a function, pass the name of the array.
  • 51. 51 Starting Out with C++, 3rd Edition Program 7-13 // This program demonstrates that an array element is passed // to a function like any other variable. #include <iostream.h> void ShowValue(int); // Function prototype void main(void) { int collection[8] = {5, 10, 15, 20, 25, 30, 35, 40}; for (int Cycle = 0; Cycle < 8; Cycle++) ShowValue(collection[Cycle]); }
  • 52. 52 Starting Out with C++, 3rd Edition Program continues //************************************ // Definition of function showValue. * // This function accepts an integer argument. * // The value of the argument is displayed. * //************************************ void ShowValue(int Num) { cout << Num << " "; }
  • 53. 53 Starting Out with C++, 3rd Edition Program Output 5 10 15 20 25 30 35 40
  • 54. 54 Starting Out with C++, 3rd Edition Program 7-14 // This program demonstrates an array being passed to a function. #include <iostream.h> void showValues(int []); // Function prototype void main(void) { int collection[8] = {5, 10, 15, 20, 25, 30, 35, 40}; showValues(collection); // Passing address of array collection } //*********************************************** // Definition of function showValues. * // This function accepts an array of 8 integers * // as its argument. The contents of the array * // is displayed. * //*********************************************** void showValues(int nums[]) { for (int index = 0; index < 8; index++) cout << nums[index] << " "; }
  • 55. 55 Starting Out with C++, 3rd Edition Program Output 5 10 15 20 25 30 35 40
  • 56. 56 Starting Out with C++, 3rd Edition Program 7-15 // This program demonstrates an array being passed to a function. #include <iostream.h> void showValues(int []); // Function prototype void main(void) { int set1[8] = {5, 10, 15, 20, 25, 30, 35, 40}; int set2[8] = {2, 4, 6, 8, 10, 12, 14, 16}; showValues(set1); cout << endl; showValues(set2); } //*********************************************** // Definition of function showValues. * // This function accepts an array of 8 integers * // as its argument. The contents of the array * // is displayed. * //*********************************************** void showValues(int nums[]) { for (int index = 0; index < 8; index++) cout << nums[index] << " "; }
  • 57. 57 Starting Out with C++, 3rd Edition Program Output 5 10 15 20 25 30 35 40 2 4 6 8 10 12 14 16
  • 58. 58 Starting Out with C++, 3rd Edition Program 7-16 // This program uses a function that can display the contents // of an integer array of any size. #include <iostream.h> void showValues(int [], int); // Function prototype void main(void) { int set1[8] = {5, 10, 15, 20, 25, 30, 35, 40}; int set2[4] = {2, 4, 6, 8}; int set3[12] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; showValues(set1, 8); cout << endl; showValues(set2, 4); cout << endl; showValues(set3, 12); }
  • 59. 59 Starting Out with C++, 3rd Edition Program continues //*********************************************** // Definition of function showValues. * // This function displays the contents of the * // array passed into nums. The value passed * // into elements is the number of elements in * // the nums array. * //*********************************************** void showValues(int nums[], int elements) { for (int index = 0; index < elements; index++) cout << nums[index] << " "; }
  • 60. 60 Starting Out with C++, 3rd Edition Program Output 5 10 15 20 25 30 35 40 2 4 6 8 1 2 3 4 5 6 7 8 9 10 11 12
  • 61. 61 Starting Out with C++, 3rd Edition Program 7-17 // This program uses a function that doubles the contents of // the elements within an array. #include <iostream.h> void doubleArray(int [], int); // Function prototype const int arraySize = 12; void main(void) { int set[arraySize] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; cout << "The arrays values are:n"; for (int index = 0; index < arraySize; index++) cout << set[index] << " "; cout << endl; doubleArray(set, arraySize); cout << "After calling doubleArray, the values are:n";
  • 62. 62 Starting Out with C++, 3rd Edition Program continues for (int index = 0; index < arraySize; index++) cout << set[index] << " "; cout << endl; } //************************************************** // Definition of function doubleArray. * // This function doubles the value of each element * // in the array passed into nums. * // The value passed into size is the number of * // elements in the nums array. * //************************************************** void doubleArray(int nums[], int size) { for (int index = 0; index < size; index++) nums[index] *= 2; }
  • 63. 63 Starting Out with C++, 3rd Edition Program Output The array values are: 1 2 3 4 5 6 7 8 9 10 11 12 After calling doubleArray, the values are: 2 4 6 8 10 12 14 16 18 20 22 24
  • 64. 64 Starting Out with C++, 3rd Edition 7.10 Two-dimensional Arrays • A two-dimensional array is like several identical arrays put together. It is useful for storing multiple sets of data.
  • 65. 65 Starting Out with C++, 3rd Edition Program 7-18 // This program demonstrates a two-dimensional array. #include <iostream.h> void main(void) { float sales[3][4]; // 2D array, 3 rows and 4 columns. float totalSales = 0; // To hold the total sales. int dir, qtr; // Loop counters.
  • 66. 66 Starting Out with C++, 3rd Edition Program continues cout << "This program will calculate the total sales ofn"; cout << "all the company's divisions.n"; cout << "Enter the following sales information:nn"; // Nested loops to fill the array with quarterly // sales figures for each division. for (div = 0; div < 3; div++) { for (qtr = 0; qtr < 4; qtr++) { cout << "Division " << (div + 1); cout << ", Quarter " << (qtr + 1) << ": $"; cin >> sales[div][qtr]; } cout << endl; // Print blank line. }
  • 67. 67 Starting Out with C++, 3rd Edition Program continues // Nested loops to add all the elements. for (div = 0; div < 3; div++) for (qtr = 0; qtr < 4; qtr++) totalSales += sales[div][qtr]; cout.precision(2); cout.setf(ios::fixed | ios::showpoint); cout << "The total sales for the company are: $"; cout << totalSales << endl; }
  • 68. 68 Starting Out with C++, 3rd Edition Program Output with Example Input This program will calculate the total sales of all the company's divisions. Enter the following sales information: Division 1, Quarter 1: $31569.45 [Enter] Division 1, Quarter 2: $29654.23 [Enter] Division 1, Quarter 3: $32982.54 [Enter] Division 1, Quarter 4: $39651.21 [Enter] Division 2, Quarter 1: $56321.02 [Enter] Division 2, Quarter 2: $54128.63 [Enter] Division 2, Quarter 3: $41235.85 [Enter] Division 2, Quarter 4: $54652.33 [Enter]
  • 69. 69 Starting Out with C++, 3rd Edition Output continues Division 3, Quarter 1: $29654.35 [Enter] Division 3, Quarter 2: $28963.32 [Enter] Division 3, Quarter 3: $25353.55 [Enter] Division 3, Quarter 4: $32615.88 [Enter] The total sales for the company are: $456782.34
  • 70. 70 Starting Out with C++, 3rd Edition Passing Two-dimensional Arrays to Functions • When a two-dimensional array is passed to a function, the parameter type must contain a size declarator for the number of columns.
  • 71. 71 Starting Out with C++, 3rd Edition 7.11 Arrays of Strings • A two-dimensional array of characters can be used as an array of C-strings.
  • 72. 72 Starting Out with C++, 3rd Edition Program 7-20 // This program displays the number of days in each month. // It uses a two-dimensional character array to hold the // names of the months and an int array to hold the number // of days. #include <iostream.h> void main(void) { char months[12][10] = {"January", "February", "March", "April", "May", "June", "July", "August", "September”, "October", "November","December"}; int days[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; for (int count = 0; count < 12; count++) { cout << months[count] << " has "; cout << days[count] << " days.n"; } }
  • 73. 73 Starting Out with C++, 3rd Edition Program 7-20 (continued) Program Output January has 31 days. February has 28 days. March has 31 days. April has 30 days. May has 31 days. June has 30 days. July has 31 days. August has 31 days. September has 30 days. October has 31 days. November has 30 days. December has 31 days.
  • 74. 74 Starting Out with C++, 3rd Edition Three Dimensional Arrays and Beyond • C++ allows you to create arrays with virtually any number of dimensions. • Here is an example of a three-dimensional array declaration: float seat[3][5][8];
  • 75. 75 Starting Out with C++, 3rd Edition 7.14 Introduction to the STL vector • The Standard Template Library (or STL) is a collection of data types and algorithms that you may use in your programs. These data types and algorithms are programmer- defined. They are not part of the C++ language, but were created in addition to the built-in data types.
  • 76. 76 Starting Out with C++, 3rd Edition 7.14 Introduction to the STL vector • The data types that are defined in the STL are commonly called containers, because they store and organize data. • There are two types of containers in the STL: sequence containers and associative containers. • The vector data type is a sequence container.
  • 77. 77 Starting Out with C++, 3rd Edition 7.14 Introduction to the STL vector • A vector is like an array in the following ways: – A vector holds a sequence of values, or elements. – A vector stores its elements in contiguous memory locations. – You can use the array subscript operator [] to read the individual elements in the vector
  • 78. 78 Starting Out with C++, 3rd Edition 7.14 Introduction to the STL vector • However, a vector offers several advantages over arrays. Here are just a few: – You do not have to declare the number of elements that the vector will have. – If you add a value to a vector that is already full, the vector will automatically increase its size to accommodate the new value. – vectors can report the number of elements they contain.
  • 79. 79 Starting Out with C++, 3rd Edition Declaring a vector • To use vectors in your program, you must first #include the vector header file with the following statement: #include <vector> Note: There is no .h at the end of the file name.
  • 80. 80 Starting Out with C++, 3rd Edition Declaring a vector • The next step is to include the following statement after your #include statements: using namespace std; The STL uses namespaces to organize the names of its data types and algorithms.
  • 81. 81 Starting Out with C++, 3rd Edition Declaring a vector • Now you are ready to declare an actual vector object. Here is an example: vector<int> numbers; The statement above declares numbers as a vector of ints.
  • 82. 82 Starting Out with C++, 3rd Edition Declaring a vector • You can declare a starting size, if you prefer. Here is an example: vector<int> numbers(10); The statement above declares numbers as a vector of 10 ints.
  • 83. 83 Starting Out with C++, 3rd Edition Other examples of vector Declarations Declaration Format Description vector<float> amounts; Declares amounts as an empty vector of floats. vector<int> scores(15); Declares scores as a vector of 15 ints. vector<char> letters(25, 'A'); Declares letters as a vector of 25 characters. Each element is initialized with 'A'. vector<double> values2(values1); Declares values2 as a vector of doubles. All the elements of values1, which also a vector of doubles, are copied to value2.
  • 84. 84 Starting Out with C++, 3rd Edition Storing and Retrieving Values in a vector • To store a value in an element that already exists in a vector, you may use the array subscript operator [].
  • 85. 85 Starting Out with C++, 3rd Edition Program 7-23 // This program stores, in two vectors, the hours worked by 5 // employees, and their hourly pay rates. #include <iostream.h> #include <vector> // Needed to declare vectors using namespace std; void main(void) { vector<int> hours(5); // Declare a vector of 5 integers vector<float> payRate(5); // Declare a vector of 5 floats cout << "Enter the hours worked by 5 employees and theirn"; cout << "hourly rates.n"; for (int index = 0; index < 5; index++) { cout << "Hours worked by employee #" << (index + 1); cout << ": "; cin >> hours[index]; cout << "Hourly pay rate for employee #"; cout << (index + 1) << ": "; cin >> payRate[index]; }
  • 86. 86 Starting Out with C++, 3rd Edition Program 7-23 (continued) cout << "Here is the gross pay for each employee:n"; cout.precision(2); cout.setf(ios::fixed | ios::showpoint); for (index = 0; index < 5; index++) { float grossPay = hours[index] * payRate[index]; cout << "Employee #" << (index + 1); cout << ": $" << grossPay << endl; } }
  • 87. 87 Starting Out with C++, 3rd Edition Program 7-23 (continued) Program Output with Example Input Shown in Bold Enter the hours worked by 5 employees and their hourly rates. Hours worked by employee #1: 10 [Enter] Hourly pay rate for employee #1: 9.75 [Enter] Hours worked by employee #2: 15 [Enter] Hourly pay rate for employee #2: 8.62 [Enter] Hours worked by employee #3: 20 [Enter] Hourly pay rate for employee #3: 10.50 [Enter] Hours worked by employee #4: 40 [Enter] Hourly pay rate for employee #4: 18.75 [Enter] Hours worked by employee #5: 40 [Enter] Hourly pay rate for employee #5: 15.65 [Enter] Here is the gross pay for each employee: Employee #1: $97.50 Employee #2: $129.30 Employee #3: $210.00 Employee #4: $750.00 Employee #5: $626.00
  • 88. 88 Starting Out with C++, 3rd Edition Using the push_back Member Function • You cannot use the [] operator to access a vector element that does not exist. • To store a value in a vector that does not have a starting size, or is already full, use the push_back member function. Here is an example: numbers.push_back(25);
  • 89. 89 Starting Out with C++, 3rd Edition Program 7-24 // This program stores, in two vectors, the hours worked by a specified // number of employees, and their hourly pay rates. #include <iostream.h> #include <vector> // Needed to declare vectors using namespace std; void main(void) { vector<int> hours; // hours is an empty vector vector<float> payRate; // payRate is an empty vector int numEmployees; // The number of employees cout << "How many employees do you have? "; cin >> numEmployees; cout << "Enter the hours worked by " << numEmployees; cout << " employees and their hourly rates.n";
  • 90. 90 Starting Out with C++, 3rd Edition Program 7-24 (continued) for (int index = 0; index < numEmployees; index++) { int tempHours; // To hold the number of hours entered float tempRate; // To hold the payrate entered cout << "Hours worked by employee #" << (index + 1); cout << ": "; cin >> tempHours; hours.push_back(tempHours); // Add an element to hours cout << "Hourly pay rate for employee #"; cout << (index + 1) << ": "; cin >> tempRate; payRate.push_back(tempRate); // Add an element to payRate } cout << "Here is the gross pay for each employee:n"; cout.precision(2); cout.setf(ios::fixed | ios::showpoint); for (index = 0; index < numEmployees; index++) { float grossPay = hours[index] * payRate[index]; cout << "Employee #" << (index + 1); cout << ": $" << grossPay << endl; } }
  • 91. 91 Starting Out with C++, 3rd Edition Program 7-24 (continued) Program Output with Example Input Shown in Bold How many employees do you have? 3 [Enter] Enter the hours worked by 3 employees and their hourly rates. Hours worked by employee #1: 40 [Enter] Hourly pay rate for employee #1: 12.63 [Enter] Hours worked by employee #2: 25 [Enter] Hourly pay rate for employee #2: 10.35 [Enter] Hours worked by employee #3: 45 [Enter] Hourly pay rate for employee #3: 22.65 [Enter] Here is the gross pay for each employee: Employee #1: $505.20 Employee #2: $258.75 Employee #3: $1019.25
  • 92. 92 Starting Out with C++, 3rd Edition Determining the Size of a vector • Unlike arrays, vectors can report the number of elements they contain. This is accomplished with the size member function. Here is an example of a statement that uses the size member function: numValues = set.size(); • In the statement above, assume that numValues is an int, and set is a vector. After the statement executes, numValues will contain the number of elements in the vector set.
  • 93. 93 Starting Out with C++, 3rd Edition Determining the Size of a vector • Example: void showValues(vector<int> vect) { for (int count = 0; count < vect.size(); count++) cout << vect[count] << endl; }
  • 94. 94 Starting Out with C++, 3rd Edition Program 7-25 // This program demonstrates the vector size // member function. #include <iostream.h> #include <vector> using namespace std; // Function prototype void showValues(vector<int>); void main(void) { vector<int> values; for (int count = 0; count < 7; count++) values.push_back(count * 2); showValues(values); }
  • 95. 95 Starting Out with C++, 3rd Edition Program 7-25 (continued) //************************************************** // Definition of function showValues. * // This function accepts an int vector as its * // argument. The value of each of the vector's * // elements is displayed. * //************************************************** void showValues(vector<int> vect) { for (int count = 0; count < vect.size(); count++) cout << vect[count] << endl; }
  • 96. 96 Starting Out with C++, 3rd Edition Program 7-25 (continued) Program Output 0 2 4 6 8 10 12
  • 97. 97 Starting Out with C++, 3rd Edition Removing Elements from a vector • Use the pop_back member function to remove the last element from a vector. collection.pop_back(); The statement above removes the last element from the collection vector.
  • 98. 98 Starting Out with C++, 3rd Edition Program 7-26 // This program demosntrates the vector size member function. #include <iostream.h> #include <vector> using namespace std; void main(void) { vector<int> values; // Store values in the vector values.push_back(1); values.push_back(2); values.push_back(3); cout << "The size of values is " << values.size() << endl; // Remove a value from the vector cout << "Popping a value from the vector...n"; values.pop_back(); cout << "The size of values is now " << values.size() << endl;
  • 99. 99 Starting Out with C++, 3rd Edition Program 7-26 (continued) // Now remove another value from the vector cout << "Popping a value from the vector...n"; values.pop_back(); cout << "The size of values is now " << values.size() << endl; // Remove the last value from the vector cout << "Popping a value from the vector...n"; values.pop_back(); cout << "The size of values is now " << values.size() << endl; } Program Output The size of values is 3 Popping a value from the vector... The size of values is now 2 Popping a value from the vector... The size of values is now 1 Popping a value from the vector... The size of values is now 0
  • 100. 100 Starting Out with C++, 3rd Edition Clearing a vector • To completely clear the contents of a vector, use the clear member function. Here is an example: numbers.clear(); After the statement above executes, the numbers vector will be cleared of all its elements.
  • 101. 101 Starting Out with C++, 3rd Edition Program 7-27 // This program demosntrates the vector size member function. #include <iostream.h> #include <vector> using namespace std; void main(void) { vector<int> values(100); cout << "The values vector has “ << values.size() << " elements.n"; cout << "I will call the clear member function...n"; values.clear(); cout << "Now, the values vector has “ << values.size() << " elements.n"; }
  • 102. 102 Starting Out with C++, 3rd Edition Program 7-27 (continued) Program Output The values vector has 100 elements. I will call the clear member function... Now, the values vector has 0 elements.
  • 103. 103 Starting Out with C++, 3rd Edition Detecting an Empty vector • To determine if a vector is empty, use the empty member function. The function returns true if the vector is empty, and false if the vector has elements stored in it. Here is an example of its use: if (set.empty()) cout << "No values in set.n";
  • 104. 104 Starting Out with C++, 3rd Edition Program 7-28 // This program demosntrates the vector's empty member function. #include <iostream.h> #include <vector> using namespace std; // Function prototype float avgVector(vector<int>); void main(void) { vector<int> values; int numValues; float average; cout << "How many values do you wish to average? "; cin >> numValues;
  • 105. 105 Starting Out with C++, 3rd Edition Program 7-28 (continued) for (int count = 0; count < numValues; count++) { int tempValue; cout << "Enter a value: "; cin >> tempValue; values.push_back(tempValue); } average = avgVector(values); cout << "Average: " << average << endl; } //************************************************************* // Definition of function avgVector. * // This function accepts an int vector as its argument. If * // the vector contains values, the function returns the * // average of those values. Otherwise, an error message is * // displayed and the function returns 0.0. * //*************************************************************
  • 106. 106 Starting Out with C++, 3rd Edition Program 7-28 (continued) float avgVector(vector<int> vect) { int total = 0; // accumulator float avg; // average if (vect.empty()) // Determine if the vector is empty { cout << "No values to average.n"; avg = 0.0; } else { for (int count = 0; count < vect.size(); count++) total += vect[count]; avg = total / vect.size(); } return avg; }
  • 107. 107 Starting Out with C++, 3rd Edition Program 7-28 (continued) Program Output with Example Input Shown in Bold How many values do you wish to average? Enter a value: 12 Enter a value: 18 Enter a value: 3 Enter a value: 7 Enter a value: 9 Average: 9 Program Output with Example Input Shown in Bold How many values do you wish to average? 0 No values to average. Average: 0
  • 108. 108 Starting Out with C++, 3rd Edition Summary of vector Member Functions Member Function Description at(element) Returns the value of the element located at element in the vector. Example: x = vect.at(5); The statement above assigns the value of the 5th element of vect to x. capacity() Returns the maximum number of elements that may be stored in the vector without additional memory being allocated. (This is not the same value as returned by the size member function). Example: x = vect.capacity(); The statement above assigns the capacity of vect to x.
  • 109. 109 Starting Out with C++, 3rd Edition Summary of vector Member Functions clear() Clears a vector of all its elements. Example: vect.clear(); The statement above removes all the elements from vect. empty() Returns true if the vector is empty. Otherwise, it returns false. Example: if (vect.empty()) cout << "The vector is empty."; The statement above displays the message if vect is empty. pop_back() Removes the last element from the vector. Example: vect.pop_back(); The statement above removes the last element of vect, thus reducing its size by 1.
  • 110. 110 Starting Out with C++, 3rd Edition Summary of vector Member Functions push_back(value) Stores a value in the last element of the vector. If the vector is full or empty, a new element is created. Example: vect.push_back(7); The statement above stores 7 in the last element of vect. reverse() Reverses the order of the elements in the vector (the last element becomes the first element, and the first element becomes the last element.) Example: vect.reverse(); The statement above reverses the order of the element in vect. resize(elements, value) Resizes a vector by elements elements. Each of the new elements is initialized with the value in value. Example: vect.resize(5, 1); The statement above increases the size of vect by 5 elements. The 5 new elements are initialized to the value 1.
  • 111. 111 Starting Out with C++, 3rd Edition Summary of vector Member Functions swap(vector2) Swaps the contents of the vector with the contents of vector2. Example: vect1.swap(vect2); The statement above swaps the contents of vect1 and vect2.