Copyright © 2002 Pearson Education, Inc. Slide 1.

Slides:



Advertisements
Similar presentations
UNIT IV.
Advertisements

2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 4 - Arrays Outline 4.1Introduction 4.2Arrays 4.3Declaring Arrays 4.4Examples Using Arrays 4.5Passing.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Copyright © 2003 Pearson Education, Inc. Slide 1.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Copyright © 2003 Pearson Education, Inc. Slide 1.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Chapter 9 – One-Dimensional Numeric Arrays. Array u Data structure u Grouping of like-type data u Indicated with brackets containing positive integer.
Etter/Ingber Arrays and Matrices. Etter/Ingber One-Dimensional Arrays 4 An array is an indexed data structure 4 All variables stored in an array are of.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8: Arrays Starting Out with C++ Early Objects Seventh Edition by.
CS 141 Computer Programming 1 1 Arrays. Outline  Introduction  Arrays  Declaring Arrays  Examples Using Arrays  Sorting Arrays  Multiple-Subscripted.
Introduction to Programming Lecture 15. In Today’s Lecture Pointers and Arrays Manipulations Pointers and Arrays Manipulations Pointers Expression Pointers.
Chapter 17 Templates. Generic Algorithms Algorithms in which the actions or steps are defined, but the data types of the items being manipulated are not.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 7- 1 Overview 7.1 Introduction to Arrays 7.2 Arrays in Functions 7.3.
Slides prepared by Rose Williams, Binghamton University Chapter 6 Arrays.
Simple Arrays COMP104 Lecture 11 / Slide 2 Arrays * An array is a collection of data elements that are of the same type (e.g., a collection of integers,characters,
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays.
©2004 Brooks/Cole Chapter 8 Arrays. Figures ©2004 Brooks/Cole CS 119: Intro to JavaFall 2005 Sometimes we have lists of data values that all need to be.
© The McGraw-Hill Companies, 2006 Chapter 5 Arrays.
Copyright © 2008 Pearson Addison-Wesley. All rights reserved. Chapter 9 Pointers and Dynamic Arrays.
Chapter 5 - Arrays CSC 200 Matt Kayala 2/27/06. Learning Objectives  Introduction to Arrays  Declaring and referencing arrays  For-loops and arrays.
Copyright © 2005 Pearson Addison-Wesley. All rights reserved. Slide 1 Overview – Chapter Section 4 Arrays and Classes (10.4)
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.
Chapter 9 Introduction to Arrays
1 Arrays & functions Each element of an array acts just like an ordinary variable: Like any ordinary variable, you can pass a single array element to a.
Simple Arrays Programming COMP104 Lecture 12 / Slide 2 Arrays l An array is a collection of data elements that are of the same type (e.g., a collection.
 2007 Pearson Education, Inc. All rights reserved C Arrays.
Wednesday, 11/6/02, Slide #1 CS 106 Intro to CS 1 Wednesday, 11/6/02  QUESTIONS?? – HW # 4 due Monday  Today:  Return HW #3  Arrays (Chap. 10)  Reading:
Arrays.
Chapter 6Java: an Introduction to Computer Science & Programming - Walter Savitch 1 l Array Basics l Arrays in Classes and Methods l Programming with Arrays.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays.
chap8 Chapter 8 Arrays (Hanly) chap8 2 Data Structure Simple data types use a simple memory to store a variable. Data Structure: a.
Arrays in C++ Numeric Character. Structured Data Type A structured data type is a type that stores a collection of individual components with one variable.
Introduction to Arrays in Java Corresponds with Chapter 6 of textbook.
EGR 2261 Unit 8 One-dimensional Arrays  Read Malik, pages in Chapter 8.  Homework #8 and Lab #8 due next week.  Quiz next week.
CMSC 202 Arrays. Aug 6, Introduction to Arrays An array is a data structure used to process a collection of data that is all of the same type –An.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2009 Pearson Education, Inc., Upper.
 2005 Pearson Education, Inc. All rights reserved. 1 Arrays.
COMP102 Lab 081 COMP 102 Programming Fundamentals I Presented by : Timture Choi.
1 © 2002, Cisco Systems, Inc. All rights reserved. Arrays Chapter 7.
Array, Structure and Union
Copyright © 2002 Pearson Education, Inc. Slide 1.
Pascal Programming Arrays and String Type.
 2007 Pearson Education, Inc. All rights reserved C Arrays.
Slide 1 Chapter 5 Arrays. Slide 2 Learning Objectives  Introduction to Arrays  Declaring and referencing arrays  For-loops and arrays  Arrays in memory.
Chapter 5 Arrays. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 5-2 Learning Objectives  Introduction to Arrays  Declaring and referencing.
Copyright © 2006 Pearson Addison-Wesley. All rights reserved This Weeks Topics: Pointers (continued)  Modify C-String through a function call 
 2008 Pearson Education, Inc. All rights reserved. 1 Arrays and Vectors.
Arrays Dr. Jose Annunziato. Arrays Up to this point we have been working with individual primitive data types Arrays allow working with multiple instances.
CHAPTER 6 ARRAYS IN C++ 2 nd Semester King Saud University College of Applied studies and Community Service CSC 1101 By: Fatimah Alakeel Edited.
1 Chapter 12 Arrays. 2 C++ Data Types structured array struct union class address pointer reference simple integral enum char short int long bool floating.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 9 Pointers and Dynamic Arrays.
Two Dimensional Arrays Found in chapter 8, Section 8.9.
Copyright © 2014 Pearson Addison-Wesley. All rights reserved. Chapter 9 Pointers and Dynamic Arrays.
Arrays Declaring arrays Passing arrays to functions Searching arrays with linear search Sorting arrays with insertion sort Multidimensional arrays Programming.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Arrays Outline 6.1Introduction 6.2Arrays 6.3Declaring.
CHAPTER 6 ARRAYS IN C 1 st semester King Saud University College of Applied studies and Community Service Csc 1101 F. Alakeel.
Chapter 5 Arrays Copyright © 2016 Pearson, Inc. All rights reserved.
Copyright © 2013 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Third Edition by Tony Gaddis.
Data Storage So far variables have been able to store only one value at a time. What do you do if you have many similar values that all need to be stored?
Chapter 6 Arrays in C++ 2nd Semester King Saud University
Computer Programming BCT 1113
Arrays in Java.
Presentation transcript:

Copyright © 2002 Pearson Education, Inc. Slide 1

Copyright © 2002 Pearson Education, Inc. Slide 2 Chapter 5 Created by Frederick H. Colclough, Colorado Technical University Arrays

Copyright © 2002 Pearson Education, Inc. Slide 3 Learning Objectives Introduction to Arrays Declaring and referencing arrays For-loops and arrays Arrays in memory Arrays in Functions Arrays as function arguments, return values Programming with Arrays Partially Filled Arrays, searching, sorting Multidimensional Arrays

Copyright © 2002 Pearson Education, Inc. Slide 4 Introduction to Arrays Array definition: A collection of data of same type First aggregate data type Means grouping int, float, double, char are simple data types Used for lists of like items Test scores, temperatures, names, etc. Avoids declaring multiple simple variables Can manipulate list as one entity

Copyright © 2002 Pearson Education, Inc. Slide 5 Declaring Arrays Declare the array allocates memory int score[5]; Declares array of 5 integers named score Similar to declaring five variables: int score[0], score[1], score[2], score[3], score[4] Individual parts called many things: Indexed or subscripted variables Elements of the array Value in brackets called index or subscript Numbered from 0 to size - 1

Copyright © 2002 Pearson Education, Inc. Slide 6 Accessing Arrays Access using index/subscript cout << score[3]; Note two uses of brackets: In declaration, specifies SIZE of array Anywhere else, specifies a subscript Size, subscript need not be literal int score[MAX_SCORES]; score[n+1] = 99; If n is 2, identical to: score[3]

Copyright © 2002 Pearson Education, Inc. Slide 7 Array Usage Powerful storage mechanism Can issue command like: Do this to i th indexed variable where i is computed by program Display all elements of array score Fill elements of array score from user input Find highest value in array score Find lowest value in array score

Copyright © 2002 Pearson Education, Inc. Slide 8 Array Program Example Display 5.1, page 174

Copyright © 2002 Pearson Education, Inc. Slide 9 for-loops with Arrays Natural counting loop Naturally works well counting thru elements of an array Example: for (idx = 0; idx<5; idx++) { cout << score[idx] << off by << max – score[idx] << endl; } Loop control variable (idx) counts from 0 – 5

Copyright © 2002 Pearson Education, Inc. Slide 10 Major Array Pitfall Array indexes always start with zero! Zero is first number to computer scientists C++ will let you go beyond range Unpredictable results Compiler will not detect these errors! Up to programmer to stay in range

Copyright © 2002 Pearson Education, Inc. Slide 11 Major Array Pitfall Example Indexes range from 0 to (array_size – 1) Example: double temperature[24]; // 24 is array size // Declares array of 24 double values called temperature They are indexed as: temperature[0], temperature[1] … temperature[23] Common mistake: temperature[24] = 5; Index 24 is out of range! No warning, possibly disastrous results

Copyright © 2002 Pearson Education, Inc. Slide 12 Defined Constant as Array Size Always use defined/named constant for array size Example: const int NUMBER_OF_STUDENTS = 5; int score[NUMBER_OF_STUDENTS]; Improves readability Improves versatility Improves maintainability

Copyright © 2002 Pearson Education, Inc. Slide 13 Uses of Defined Constant Use everywhere size of array is needed In for-loop for traversal: for (idx = 0; idx < NUMBER_OF_STUDENTS; idx++) { // Manipulate array } In calculations involving size: lastIndex = (NUMBER_OF_STUDENTS – 1); When passing array to functions (later) If size changes requires only ONE change in program!

Copyright © 2002 Pearson Education, Inc. Slide 14 Arrays in Memory Recall simple variables: Allocated memory in an address Array declarations allocate memory for entire array Sequentially-allocated Means addresses allocated back-to-back Allows indexing calculations Simple addition from array beginning (index 0)

Copyright © 2002 Pearson Education, Inc. Slide 15 An Array in Memory Display 5.2, page 178

Copyright © 2002 Pearson Education, Inc. Slide 16 Initializing Arrays As simple variables can be initialized at declaration: int price = 0;// 0 is initial value Arrays can as well: int children[3] = {2, 12, 1}; Equivalent to following: int children[3]; children[0] = 2; children[1] = 12; children[2] = 1;

Copyright © 2002 Pearson Education, Inc. Slide 17 Auto-Initializing Arrays If fewer values than size supplied: Fills from beginning Fills rest with zero of array base type If array-size is left out Declares array with size required based on number of initialization values Example: int b[] = {5, 12, 11}; Allocates array b to size 3

Copyright © 2002 Pearson Education, Inc. Slide 18 Arrays in Functions As arguments to functions Indexed variables An individual element of an array can be functin parameter Entire arrays All array elements can be passed as one entity As return value from function Can be done chapter 10

Copyright © 2002 Pearson Education, Inc. Slide 19 Indexed Variables as Arguments Indexed variable handled same as simple variable of array base type Given this function declaration: void myFunction(double par1); And these declarations: int i; double n, a[10]; Can make these function calls: myFunction(i);// i is converted to double myFunction(a[3]);// a[3] is double myFunction(n);// n is double

Copyright © 2002 Pearson Education, Inc. Slide 20 Subtlety of Indexing Consider: myFunction(a[i]); Value of i is determined first It determines which indexed variable is sent myFunction(a[i*5]); Perfectly legal, from compilers view Programmer responsible for staying in-bounds of array

Copyright © 2002 Pearson Education, Inc. Slide 21 Entire Arrays as Arguments Formal parameter can be entire array Argument then passed in function call is array name Called array parameter Send size of array as well Typically done as second parameter Simple int type formal parameter

Copyright © 2002 Pearson Education, Inc. Slide 22 Entire Array as Argument Example Display 5.3, page 183

Copyright © 2002 Pearson Education, Inc. Slide 23 Entire Array as Argument Example Given previous example: In some main() function definition, consider this calls: int score[5], numberOfScores = 5; fillup(score, numberOfScores); 1 st argument is entire array 2 nd argument is integer value Note no brackets in array argument!

Copyright © 2002 Pearson Education, Inc. Slide 24 Array as Argument: How? Whats really passed? Think of array as 3 pieces Address of first indexed variable (arrName[0]) Array base type Size of array Only 1 st piece is passed! Just the beginning address of array Very similar to pass-by-reference

Copyright © 2002 Pearson Education, Inc. Slide 25 Array Parameters May seem strange No brackets in array argument Must send size separately One nice property: Can use SAME function to fill any size array! Exemplifies re-use properties of functions Example: int score[5], time[10]; fillUp(score, 5); fillUp(time, 10);

Copyright © 2002 Pearson Education, Inc. Slide 26 The const Parameter Modifier Recall: array parameter actually passes address of 1 st element Similar to pass-by-reference Function can then modify array! Often desirable, sometimes not! Protect array contents from modification Use const modifier before array parameter Called constant array parameter Tells compiler to not allow modifications

Copyright © 2002 Pearson Education, Inc. Slide 27 Functions that Return an Array Functions cannot return arrays same way simple types are returned Requires use of a pointer Will be discussed in chapter 10…

Copyright © 2002 Pearson Education, Inc. Slide 28 Programming with Arrays Plenty of uses Partially-filled arrays Must be declared some max size Sorting Searching

Copyright © 2002 Pearson Education, Inc. Slide 29 Partially-filled Arrays Difficult to know exact array size needed Must declare to be largest possible size Must then keep track of valid data in array Additional tracking variable needed int numberUsed; Tracks current number of elements in array

Copyright © 2002 Pearson Education, Inc. Slide 30 Partially-filled Arrays Example Display 5.5, page 195

Copyright © 2002 Pearson Education, Inc. Slide 31 Global Constants vs. Parameters Constants typically made global Declared above main() Functions then have scope to array size constant No need to send as parameter then? Technically yes Why should we anyway? Function definition might be in separate file Function might be used by other programs!

Copyright © 2002 Pearson Education, Inc. Slide 32 Searching an Array Very typical use of arrays Display 5.6 next slide

Copyright © 2002 Pearson Education, Inc. Slide 33 Searching an Array Contd Display 5.6, page 198

Copyright © 2002 Pearson Education, Inc. Slide 34 Searching an Array Contd Display 5.6, page 198

Copyright © 2002 Pearson Education, Inc. Slide 35 Sorting an Array Selection Sort Algorithm Display 5.7, page 201

Copyright © 2002 Pearson Education, Inc. Slide 36 Sorting an Array Example Display 5.8, page 201

Copyright © 2002 Pearson Education, Inc. Slide 37 Sorting an Array Example Contd Display 5.8, page 201

Copyright © 2002 Pearson Education, Inc. Slide 38 Sorting an Array Example Contd Display 5.8, page 201

Copyright © 2002 Pearson Education, Inc. Slide 39 Multidimensional Arrays Arrays with more than one index char page[30][100]; Two indexes: An array of arrays Visualize as: page[0][0], page[0][1], …, page[0][99] page[1][0], page[1][1], …, page[1][99] … page[29][0], page[29][1], …, page[29][99] C++ allows any number of indexes Typically no more than two

Copyright © 2002 Pearson Education, Inc. Slide 40 Multidimensional Array Parameters Similar to one-dimensional array 1 st dimension size not given Provided as second parameter 2 nd dimension size IS given Example: void DisplayPage(const char p[][100], int sizeDimension1) { for (int index1=0; index1<sizeDimension1; index1++) { for (int index2=0; index2 < 100; index2++) cout << p[index1][index2]; cout << endl; } }

Copyright © 2002 Pearson Education, Inc. Slide 41 Summary 1 Array is collection of same type data Indexed variables of array used just like any other simple variables for-loop natural way to traverse arrays Programmer responsible for staying in bounds of array Array parameter is new kind Similar to call-by-reference

Copyright © 2002 Pearson Education, Inc. Slide 42 Summary 2 Array elements stored sequentially Contiguous portion of memory Only address of 1 st element is passed to functions Partially-filled arrays more tracking Constant array parameters Prevent modification of array contents Multidimensional arrays Create array of arrays