C++ for Engineers and Scientists Second Edition Chapter 11 Arrays.

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

Chapter 6: Arrays Java Software Solutions for AP* Computer Science
5 5 Arrays. OBJECTIVES In this lecture we will learn:  Case switch  To use the array data structure to represent a set of related data items.  To declare.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays.
Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 8 Arrays.
Arrays Chapter 6.
Chapter 8. 2 Objectives You should be able to describe: One-Dimensional Arrays Array Initialization Arrays as Arguments Two-Dimensional Arrays Common.
1 Arrays  Arrays are objects that help us organize large amounts of information  Chapter 8 focuses on: array declaration and use passing arrays and array.
 2006 Pearson Education, Inc. All rights reserved Arrays.
Chapter 6 C Arrays Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc. Arrays are data structures.
Chapter 9: Arrays and Strings
Chapter 9: Arrays and Strings
Arrays Data Structures - structured data are data organized to show the relationship among the individual elements. It usually requires a collecting mechanism.
Introduction to Programming with C++ Fourth Edition
C++ for Engineers and Scientists Third Edition
Chapter 8 Arrays and Strings
Arrays. Objectives Learn about arrays Explore how to declare and manipulate data into arrays Learn about “array index out of bounds” Become familiar with.
1 CSCE 1030 Computer Science 1 Arrays Chapter 7 in Small Java.
Programming Logic and Design Fourth Edition, Comprehensive
Arrays (Part II). Two- and Multidimensional Arrays Two-dimensional array: collection of a fixed number of components (of the same type) arranged in two.
 2007 Pearson Education, Inc. All rights reserved C Arrays.
 2006 Pearson Education, Inc. All rights reserved Arrays and Vectors.
Chapter 7: Arrays. In this chapter, you will learn about: One-dimensional arrays Array initialization Declaring and processing two-dimensional arrays.
Programming Languages -1 (Introduction to C) arrays Instructor: M.Fatih AMASYALI
Array Processing Simple Program Design Third Edition A Step-by-Step Approach 7.
Arrays in C++ UNIVERSITY OF THE PUNJAB (GUJRANWALA CAMPUS) 1 ADNAN BABAR MT14028 CR
 2006 Pearson Education, Inc. All rights reserved Arrays.
A First Book of ANSI C Fourth Edition
CHAPTER 07 Arrays and Vectors (part I). OBJECTIVES 2 In this part you will learn:  To use the array data structure to represent a set of related data.
Chapter 8 Arrays and Strings
Array Processing.
計算機程式語言 Lecture 07-1 國立臺灣大學生物機電系 7 7 Arrays.
EGR 2261 Unit 8 One-dimensional Arrays  Read Malik, pages in Chapter 8.  Homework #8 and Lab #8 due next week.  Quiz next week.
Arrays Module 6. Objectives Nature and purpose of an array Using arrays in Java programs Methods with array parameter Methods that return an array Array.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
Chapter 8: Collections: Arrays. 2 Objectives One-Dimensional Arrays Array Initialization The Arrays Class: Searching and Sorting Arrays as Arguments The.
1 © 2002, Cisco Systems, Inc. All rights reserved. Arrays Chapter 7.
© 2011 Pearson Education, publishing as Addison-Wesley Chapter 6: Arrays Presentation slides for Java Software Solutions for AP* Computer Science 3rd Edition.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Arrays.
1 Topic: Array Topic: Array. 2 Arrays Arrays In this chapter, we will : Learn about arrays Learn about arrays Explore how to declare and manipulate data.
1 Arrays and Vectors Chapter 7 Arrays and Vectors Chapter 7.
Week # 2: Arrays.  Data structure  A particular way of storing and organising data in a computer so that it can be used efficiently  Types of data.
Section 5 - Arrays. Problem solving often requires information be viewed as a “list” List may be one-dimensional or multidimensional List is implemented.
IN THE NAME OF ALLAH WHO IS THE MOST BENEFICENT AND MOST MERCIFUL.
A First Book of C++: From Here To There, Third Edition2 Objectives You should be able to describe: One-Dimensional Arrays Array Initialization Arrays.
Arrays. Related data items Collection of the same types of data. Static entity – Same size throughout program.
12/15/2015Engineering Problem Solving with C++, Second Edition, J. Ingber 1 Engineering Problem Solving with C++, Etter Chapter 6 One-Dimensional Arrays.
 2007 Pearson Education, Inc. All rights reserved C Arrays.
1 Arrays and Strings Lecture: Design Problem l Consider a program to calculate class average Why?? ?
 2008 Pearson Education, Inc. All rights reserved. 1 Arrays and Vectors.
Chapter 8 Arrays. A First Book of ANSI C, Fourth Edition2 Introduction Atomic variable: variable whose value cannot be further subdivided into a built-in.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Chapter 8: Part 3 Collections and Two-dimensional arrays.
Arrays Chapter 7. MIS Object Oriented Systems Arrays UTD, SOM 2 Objectives Nature and purpose of an array Using arrays in Java programs Methods.
Multidimensional Arrays tMyn1 Multidimensional Arrays It is possible to declare arrays that require two or more separate index values to access an element.
Arrays Declaring arrays Passing arrays to functions Searching arrays with linear search Sorting arrays with insertion sort Multidimensional arrays Programming.
C++ Array 1. C++ provides a data structure, the array, which stores a fixed-size sequential collection of elements of the same type. An array is used.
SEQUENTIAL AND OBJECT ORIENTED PROGRAMMING Arrays.
CHAPTER 6 ARRAYS IN C 1 st semester King Saud University College of Applied studies and Community Service Csc 1101 F. Alakeel.
VISUAL C++ PROGRAMMING: CONCEPTS AND PROJECTS Chapter 7A Arrays (Concepts)
 2006 Pearson Education, Inc. All rights reserved Arrays and Vectors.
Objectives You should be able to describe: One-Dimensional Arrays
A FIRST BOOK OF C++ CHAPTER 7 ARRAYS. OBJECTIVES In this chapter, you will learn about: One-Dimensional Arrays Array Initialization Arrays as Arguments.
Computer Programming BCT 1113
Chapter 6 - Arrays Outline 6.1 Introduction 6.2 Arrays
7 Arrays.
CNG 140 C Programming (Lecture set 8)
Arrays Kingdom of Saudi Arabia
7 Arrays.
Arrays.
Presentation transcript:

C++ for Engineers and Scientists Second Edition Chapter 11 Arrays

C++ for Engineers and Scientists, Second Edition2 Objectives One-Dimensional Arrays Array Initialization Declaring and Processing Two-Dimensional Arrays Applications Arrays as Arguments

C++ for Engineers and Scientists, Second Edition3 Objectives (continued) The STL Vector Class Common Programming Errors Searching and Sorting

C++ for Engineers and Scientists, Second Edition4 One-Dimensional Arrays One-dimensional array: a list of related values with the same data type, stored using a single group name (called the array name) Syntax: dataType arrayName[number-of-items] By convention, the number of items is first declared as a constant, and the constant is used in the array declaration

C++ for Engineers and Scientists, Second Edition5 One-Dimensional Arrays (continued) Examples: const int NUMELS = 6; int volts[NUMELS]; const int ARRAYSIZE = 4; char code[ARRAYSIZE];

C++ for Engineers and Scientists, Second Edition6 One-Dimensional Arrays (continued) element: an item in the array Array storage of elements is contiguous index (or subscript) of an element: the position of the element within the array Indexes are zero-relative To reference an element, use the array name and the index of the element

C++ for Engineers and Scientists, Second Edition7 One-Dimensional Arrays (continued) Index represents the offset from the start of the array Element is also called indexed variable or subscripted variable Subscripted variable can be used anywhere that a variable can be used Expressions can be used within the brackets if the value of the expression –yields an integer value –is within the valid range of subscripts

C++ for Engineers and Scientists, Second Edition8 One-Dimensional Arrays (continued) All of the elements of an array can be processed by using a loop The loop counter is used as the array index to specify the element Example: sum = 0; for (i=0; i<5; i++) sum = sum + temp[i];

C++ for Engineers and Scientists, Second Edition9 One-Dimensional Arrays (continued) Input and Output of Array Values Array elements can be assigned values interactively using a cin stream object Out of range array indexes are not checked at compile-time, but may produce run-time errors or may overwrite a value in the referenced memory location, causing other errors Array elements can be displayed using the cout stream object

C++ for Engineers and Scientists, Second Edition10 One-Dimensional Arrays (continued)

C++ for Engineers and Scientists, Second Edition11 One-Dimensional Arrays (continued)

C++ for Engineers and Scientists, Second Edition12 Array Initialization Array elements can be initialized in the array declaration statement Example: int temp[5] = {98, 87, 92, 79, 85}; Initialization can span multiple lines, because white space is ignored in C++ Initialization starts with array element 0 if an insufficient number of values is specified If initializing in the declaration, the size may be omitted

C++ for Engineers and Scientists, Second Edition13 Array Initialization (continued) char array will contain an extra null character at the end of the string Example: char codes[] = “sample”;

C++ for Engineers and Scientists, Second Edition14 Array Initialization (continued)

C++ for Engineers and Scientists, Second Edition15 Declaring & Processing Two-Dimensional Arrays Two-dimensional array: has both rows and columns; also called a table Both dimensions must be specified in the array declaration; row is specified first, then column Both dimensions must be specified when referencing an array element

C++ for Engineers and Scientists, Second Edition16 Declaring & Processing Two-Dimensional Arrays (continued) Example: int val[1][3];

C++ for Engineers and Scientists, Second Edition17 Declaring & Processing Two-Dimensional Arrays (continued) Two-dimensional arrays can be initialized in the declaration by listing values within braces, separated by commas Braces can be used to distinguish rows, but are not required

C++ for Engineers and Scientists, Second Edition18 Declaring & Processing Two-Dimensional Arrays (continued) Nested for loops are used to process two- dimensional arrays –Outer loop controls the rows –Inner loop controls the columns Larger Dimensional Arrays –Arrays with more than two dimensions can be created, but are not commonly used

C++ for Engineers and Scientists, Second Edition19 Declaring & Processing Two-Dimensional Arrays (continued)

C++ for Engineers and Scientists, Second Edition20 Applications Statistical Analysis: Create a program that: –Accepts a list of 100 voltages as input –Calculates the average and standard deviation –Displays the results of the calculations List Maintenance: Create a program that: –Inserts a three-digit part number code into a list of part numbers maintained in increasing numerical order

C++ for Engineers and Scientists, Second Edition21 Arrays as Arguments An individual array element can be passed as an argument just like any individual variable The called function receives a copy of the array element’s value Passing an entire array to a function causes the function to receive a reference to the array, not a copy of its element values The function must be declared with an array as the argument

C++ for Engineers and Scientists, Second Edition22 Arrays as Arguments (continued)

C++ for Engineers and Scientists, Second Edition23 Arrays as Arguments (continued)

C++ for Engineers and Scientists, Second Edition24 The STL Vector Class Standard Template Library (STL): generic set of data structures that can be modified, expanded, and contracted Each STL class is coded as a template to permit the construction of a container Container: a generic data structure, referring to a set of data items that form a natural group; also called list or collection Vector: similar to an array, uses a zero- relative index, but automatically expands as needed

C++ for Engineers and Scientists, Second Edition25 The STL Vector Class (continued) STL Vector class provides many useful methods (functions) for vector manipulation: –insert(pos, elem) : inserts elem at position pos –name.push_back(elem) : append elem at the end of the vector –name.size : return the size of the vector STL also provides generic functions called algorithms

C++ for Engineers and Scientists, Second Edition26 The STL Vector Class (continued) Commonly Used STL Algorithms

C++ for Engineers and Scientists, Second Edition27 The STL Vector Class (continued) Must include the header files for vector and algorithm, with the namespace std Syntax: To create and initialize a vector: vector vectorName(start,end); To modify a specific element: vectorName[index] = newValue; To insert a new element: vectorName.insert(index, newValue);

C++ for Engineers and Scientists, Second Edition28 Common Programming Errors Failing to declare the array Using a subscript that references a non-existent array element (out of bounds) Failing to use a counter value in a loop that is large enough to cycle through all array elements Failing to initialize the array

C++ for Engineers and Scientists, Second Edition29Summary Single dimension array is a data structure that stores a list of values having the same data type Array elements are stored in contiguous memory locations, and referenced by array name and index position Two-dimensional array has rows and columns Arrays may be initialized when they are declared

C++ for Engineers and Scientists, Second Edition30 Summary (continued) Arrays may be passed to a function by passing the name of the array as the argument Individual array elements as arguments are passed by value Arrays passed as arguments are passed by reference, not by value

C++ for Engineers and Scientists, Second Edition31 Appendix: Searching & Sorting Sorting: arranging data in ascending or descending order for some purpose Searching: scanning through a list of data to find a particular item

C++ for Engineers and Scientists, Second Edition32 Search Algorithms Searches can be faster if the data is in sorted order Two common methods for searching: –Linear search –Binary search Linear search is a sequential search; each item is examined in the order it occurs in the list Average number of comparisons required to find the desired item is n/2 for a list of n items

C++ for Engineers and Scientists, Second Edition33 Linear Search

C++ for Engineers and Scientists, Second Edition34 Linear Search (continued)

C++ for Engineers and Scientists, Second Edition35 Binary Search Binary Search requires that the list is stored in sorted order Desired item is compared to the middle element, with 3 possible outcomes: –Desired element was found - finished –Desired element is greater than the middle element, so discard all elements below –Desired element is less than the middle element, so discard all elements above

C++ for Engineers and Scientists, Second Edition36 Binary Search (continued) Binary Search Algorithm in Pseudocode

C++ for Engineers and Scientists, Second Edition37 Binary Search (continued) Binary Search Algorithm in C++

C++ for Engineers and Scientists, Second Edition38 Binary Search (continued) On each pass of binary search, the number of items to be searched is cut in half After p passes through the loop, there are n/(2 p ) elements left to search

C++ for Engineers and Scientists, Second Edition39 Linear and Binary Search Comparison of while Loop Passes for Linear and Binary Searches

C++ for Engineers and Scientists, Second Edition40 Big O Notation –represents “the order of magnitude of” Sort algorithms come in two major categories: –Internal sort: entire list can be resident in memory at one time –External sort: for very large lists that cannot be totally in memory at one time

C++ for Engineers and Scientists, Second Edition41 Sort Algorithms Selection sort –Smallest element is found and exchanged with the first element –Next smallest element is found and exchanged with the second element –Process continues n-1 times, with each pass requiring one less comparison

C++ for Engineers and Scientists, Second Edition42 Selection Sort (continued) Selection sort advantages : –Maximum number of moves that must be made is n-1 –Each move is a final move Selection sort disadvantages: –n(n-1)/2 comparisons are always required –Order of magnitude of selection sort = O(n 2 )

C++ for Engineers and Scientists, Second Edition43 Exchange (Bubble) Sort –Successive values in the list are compared –Each pair is interchanged if needed to place them in sorted order –If sorting in ascending order, the largest value will “bubble up” to the last position in the list –Second pass through the list stops comparing at second-to-last element –Process continues until an entire pass through the list results in no exchanges

C++ for Engineers and Scientists, Second Edition44 Exchange (Bubble) Sort (continued) Exchange (Bubble) Sort (continued): –Number of comparisons = O(n 2 ) –Maximum number of comparisons = n(n-1)/2 –Maximum number of moves = n(n-1)/2 –Many moves are not final moves