This document discusses arrays and functions in C++. It covers how arrays are passed by reference into functions, declaring constant arrays as parameters to prevent modification, and that the base address of an array is passed. It also discusses using different data types for array indices, searching and sorting arrays, and new C++ features like auto declarations and range-based for loops. Examples are provided throughout to illustrate concepts.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
35 views33 pages
Powerpoint 2
This document discusses arrays and functions in C++. It covers how arrays are passed by reference into functions, declaring constant arrays as parameters to prevent modification, and that the base address of an array is passed. It also discusses using different data types for array indices, searching and sorting arrays, and new C++ features like auto declarations and range-based for loops. Examples are provided throughout to illustrate concepts.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 33
Chapter 8
Arrays and Strings
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 2 Arrays as Parameters to Functions • Arrays are passed by reference only • Do not use symbol & when declaring an array as a formal parameter • Size of the array is usually omitted – If provided, it is ignored by the compiler • Example:
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 3
Arrays are passed by reference only
• Reference parameters • Value parameters
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 4
Constant Arrays as Formal Parameters • Can prevent a function from changing the actual parameter when passed by reference – Use const in the declaration of the formal parameter • Example:
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 5
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 6 C++ Programming: From Problem Analysis to Program Design, Seventh Edition 7 C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8 C++ Programming: From Problem Analysis to Program Design, Seventh Edition 9 C++ Programming: From Problem Analysis to Program Design, Seventh Edition 10 Function call
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 11
Base Address of an Array and Array in Computer Memory • Base address of an array: address (memory location) of the first array component • Example: – If list is a one-dimensional array, its base address is the address of list[0] • When an array is passed as a parameter, the base address of the actual array is passed to the formal parameter
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 12
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 13 C++ Programming: From Problem Analysis to Program Design, Seventh Edition 14 Functions Cannot Return a Value of the Type Array • C++ does not allow functions to return a value of type array
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 15
void averageSpeedOverTimeInterval(double list[], int length, double avgSpeed[]); double maxAvgSpeed(double avgSpeed[], int length); double minAvgSpeed(double avgSpeed[], int length); void print(double list[], int length, double avgSpeed[]);
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 16
Integral Data Type and Array Indices • C++ allows any integral type to be used as an array index – Improves code readability • Example:
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 17
Other Ways to Declare Arrays • Examples:
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 18
Searching an Array for a Specific Item • Sequential search (or linear search): – Searching a list for a given item, starting from the first array element – Compare each element in the array with value being searched for – Continue the search until item is found or no more data is left in the list
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 19
Find 27
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 20
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 21 C++ Programming: From Problem Analysis to Program Design, Seventh Edition 22 C++ Programming: From Problem Analysis to Program Design, Seventh Edition 23 C++ Programming: From Problem Analysis to Program Design, Seventh Edition 24 Sorting • Selection sort: rearrange the list by selecting an element and moving it to its proper position • Steps: – Find the smallest element in the unsorted portion of the list – Move it to the top of the unsorted portion by swapping with the element currently there – Start again with the rest of the list C++ Programming: From Problem Analysis to Program Design, Seventh Edition 25 Selection Sort (cont’d.)
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 26
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 27 C++ Programming: From Problem Analysis to Program Design, Seventh Edition 28 Auto Declaration and Range-Based For Loops • C++11 allows auto declaration of variables – Data type does not need to be specified auto num = 15; // num is assumed int • Range-based for loop sum = 0; for (double num : list) // For each num sum = sum + num; // in list
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 29
Inclass 1/19
readData(ifstream& fin, int list[], int SIZE)
printResult(const int list[], int SIZE)
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 30
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 31
Int score = 35; Cout << Score/25;
Int score = 200;
Cout << score/25 - 1
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 32
Read file: #include <fstream> ifsteam fin; fin.open(“filename”); while(fin){ fin >> score; int index = score/25; list[index]++; } C++ Programming: From Problem Analysis to Program Design, Seventh Edition 33