C++ Programming Lecture 14 Arrays – Part I The Hashemite University Computer Engineering Department (Adapted from the textbook slides)

Slides:



Advertisements
Similar presentations
Arrays. Introduction Arrays –Structures of related data items –Static entity - same size throughout program A few types –C-like, pointer-based arrays.
Advertisements

4.1Introduction Arrays –Structures of related data items –Static entity (same size throughout program) A few types –Pointer-based arrays (C-like) –Arrays.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Arrays Outline 4.1Introduction 4.2Arrays 4.3Declaring Arrays 4.4Examples Using Arrays 4.5Passing.
 2003 Prentice Hall, Inc. All rights reserved Introduction Arrays –Structures of related data items –Static entity (same size throughout program)
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays 6.3Declaring Arrays 6.4Examples Using Arrays 6.5Passing.
1 Array, Pointer and Reference ( I ) Ying Wu Electrical Engineering and Computer Science Northwestern University EECS 230 Lectures.
 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays –Structures of related data items –Static entity (same size throughout program) A few types –Pointer-based.
Chapter 6 C Arrays Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc. Arrays are data structures.
 2007 Pearson Education, Inc. All rights reserved C Arrays.
 2003 Prentice Hall, Inc. All rights reserved. 1 IS 0020 Program Design and Software Tools Introduction to C++ Programming Lecture 3 Arrays & Pointers.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 6 - Arrays Outline 6.1Introduction 6.2Arrays.
 2006 Pearson Education, Inc. All rights reserved Arrays.
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 6 Arrays Associate Prof. Yuh-Shyan Chen Dept. of Computer Science and Information Engineering National Chung-Cheng University.
Algorithm and Programming Array Dr. Ir. Riri Fitri Sari MM MSc International Class Electrical Engineering Dept University of Indonesia 15 March 2009.
 2000 Prentice Hall, Inc. All rights reserved Arrays Array –Group of consecutive memory locations –Same name and type To refer to an element, specify.
C Lecture Notes 1 Arrays Lecture 6. C Lecture Notes 2 6.1Introduction Arrays –Structures of related data items –Static entity – same size throughout program.
Array, Pointer and Reference ( I ) Ying Wu Electrical & Computer Engineering Northwestern University ECE230 Lectures Series.
C++ Programming Lecture 6 Control Structure II (Repetition) By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
C++ Programming Lecture 10 Functions – Part II
 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 13 October 13, 2009.
1 Arrays and Vectors Chapter 7 Arrays and Vectors Chapter 7.
1 Chapter 4 - Arrays Outline 4.1Introduction 4.2Arrays 4.3Declaring Arrays 4.4Examples Using Arrays 4.5Passing Arrays to Functions 4.6Sorting Arrays 4.7Case.
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 4 - Arrays Outline 4.1Introduction 4.2Arrays 4.3Declaring Arrays 4.4Examples Using Arrays.
C++ Programming Lecture 11 Functions – Part III By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
C++ Programming Lecture 7 Control Structure I (Selection) – Part II The Hashemite University Computer Engineering Department.
 2007 Pearson Education, Inc. All rights reserved C Arrays.
C++ Programming Lecture 17 Pointers – Part I The Hashemite University Computer Engineering Department (Adapted from the textbook slides)
 2003 Prentice Hall, Inc. All rights reserved. 1 Pointers and Strings Outline Introduction Pointer Variable Declarations and Initialization Pointer Operators.
 2008 Pearson Education, Inc. All rights reserved. 1 Arrays and Vectors.
CHAPTER 6 ARRAYS IN C++ 2 nd Semester King Saud University College of Applied studies and Community Service CSC 1101 By: Fatimah Alakeel Edited.
C++ Programming Lecture 13 Functions – Part V The Hashemite University Computer Engineering Department (Adapted from the textbook slides)
C++ Programming Lecture 19 Strings The Hashemite University Computer Engineering Department (Adapted from the textbook slides)
C++ Programming Lecture 12 Functions – Part IV
C++ Programming Lecture 16 Arrays – Part III The Hashemite University Computer Engineering Department (Adapted from the textbook slides)
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Arrays Outline 4.1Introduction 4.2Arrays 4.3Declaring Arrays 4.4Examples Using Arrays 4.5Passing.
1 Lecture 4: Part1 Arrays Introduction Arrays  Structures of related data items  Static entity (same size throughout program)
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Arrays Outline 6.1Introduction 6.2Arrays 6.3Declaring.
CHAPTER 3 ARRAYS Dr. Shady Yehia Elmashad. Outline 1.Introduction 2.Arrays 3.Declaring Arrays 4.Examples Using Arrays 5.Multidimensional Arrays 6.Multidimensional.
CHAPTER 6 ARRAYS IN C 1 st semester King Saud University College of Applied studies and Community Service Csc 1101 F. Alakeel.
 2000 Prentice Hall, Inc. All rights reserved Arrays Array –Consecutive group of memory locations –Same name and type To refer to an element, specify.
C++ Programming Lecture 13 Functions – Part V By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
C++ Programming Lecture 18 Pointers – Part II The Hashemite University Computer Engineering Department (Adapted from the textbook slides)
4.1Introduction Arrays –Structures of related data items –Static entity (same size throughout program) A few types –Pointer-based arrays (C-like) –Arrays.
Arrays Outline 1 Introduction 2 Arrays 3 Declaring Arrays
C++ Programming Lecture 15 Arrays – Part II
CSC 113: Computer Programming (Theory = 03, Lab = 01)
آرايه ها اصول كامپيوتر 1.
Chapter 6 - Arrays Outline 6.1 Introduction 6.2 Arrays
C Arrays.
7 Arrays.
Chapter 9 - Arrays Outline 6.1 Introduction 6.2 Arrays
Arrays Kingdom of Saudi Arabia
Arrays Outline Introduction Arrays Declaring Arrays
C++ Programming Lecture 16 Arrays – Part III
Chapter 6 - Arrays Outline 6.1 Introduction 6.2 Arrays
4.1 Introduction Arrays A few types Structures of related data items
Arrays Kingdom of Saudi Arabia
7 Arrays.
C++ Programming Lecture 17 Pointers – Part I
Capitolo 4 - Arrays Outline 4.1 Introduction 4.2 Arrays
Arrays Arrays A few types Structures of related data items
C++ Programming Lecture 20 Strings
Chapter 3 Arrays Dr. A. PHILIP AROKIADOSS Assistant Professor
Lecture 2 Arrays & Pointers September 7, 2004
Data Structure(s) A way of storing and organizing data in a computer so that it can be used efficiently. e.g. Arrays Linked Lists stacks Queues Trees.
C++ Programming Lecture 7 Control Structure I (Selection) – Part II
4.1 Introduction Arrays A few types Structures of related data items
Presentation transcript:

C++ Programming Lecture 14 Arrays – Part I The Hashemite University Computer Engineering Department (Adapted from the textbook slides)

The Hashemite University2 Outline Introduction. Arrays declarations and initialization. Const variables. Character arrays. Static arrays. Examples.

The Hashemite University3 Introduction Arrays Structures of related data items. Static entity - same size throughout program. Structures and classes are also static entities that group related data items. In chapter 5 dynamic arrays concepts will be introduced in which you can change the size of the array throughout the program based on pointers concepts. Queues, vectors, link lists, and stacks are some examples of dynamic data structures in C++ which are based on pointers.

The Hashemite University4 Arrays I Array One type of data structures. Consecutive group of memory locations Same name and type Static data structure in which its size remain the same during the program execution. To refer to an element, specify Array name and position number Format: arrayname[ position number ] First element at position 0 n element array c : c[ 0 ], c[ 1 ] … c[ n - 1 ]

The Hashemite University5 Arrays II Array elements are like normal variables c[ 0 ] = 3; cout << c[ 0 ]; Performing operations in subscript. If x = 3, c[ 5 – 2 ] == c[ 3 ] == c[ x ] i th element in an array has the index (or subscript) of i – 1. Array element i has a an index of i. The subscript must be an integer value, where it could be: Constant. Variable. Expression. A result of a function call.

The Hashemite University6 Arrays III c[6] Name of array (Note that all elements of this array have the same name, c) c[0] c[1] c[2] c[3] c[11] c[10] c[9] c[8] c[7] c[5] c[4] Position number of the element within array c

The Hashemite University7 Declaring Arrays Declaring arrays - specify: Name Type of array Number of elements Examples int c[ 10 ]; float hi[ 3284 ]; Declaring multiple arrays of same type Similar format as other variables Example int b[ 100 ], x[ 27 ];

The Hashemite University8 Arrays Initialization Two methods to initialize an array: Using a loop. Using an initializers list. Initializers int n[ 5 ] = { 1, 2, 3, 4, 5 }; If not enough initializers, rightmost elements become 0 If too many initializers, a syntax error is generated int n[ 5 ] = { 0 } Sets all the elements to 0 since the first element is initialized to 0 and the rest are implicitly initialized to 0. If size omitted, the initializers determine it int n[] = { 1, 2, 3, 4, 5 }; 5 initializers, therefore n is a 5 element array

The Hashemite University9 1// Fig. 4.4: fig04_04.cpp 2// Initializing an array with a declaration 3#include 4 5using std::cout; 6using std::endl; 7 8#include 9 10using std::setw; 11 12int main() 13{ 14 int n[ 10 ] = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 }; cout << "Element" << setw( 13 ) << "Value" << endl; for ( int i = 0; i < 10; i++ ) 19 cout << setw( 7 ) << i << setw( 13 ) << n[ i ] << endl; return 0; 22} Element Value Notice how they array is declared and elements referenced.

The Hashemite University10 const Variables Also called named constants or read-only variables. Reserve space in memory. Must be initialized when declared to avoid getting a syntax error. A constant variable cannot be modified throughout the program after it is being declared. Arrays sizes are usually declared with type const since they are static (fixed). If you want to declare the size of an array using a variable this variable must be declared const, otherwise you will get a syntax error, e.g.: int x = 10; int c_class[x]; // syntax error //But const int x = 10; int c_class[x]; //Correct

The Hashemite University11 1// Fig. 4.7: fig04_07.cpp 2// A const object must be initialized 3 4int main() 5{5{ 6 const int x; // Error: x must be initialized 7 8 x = 7; // Error: cannot modify a const variable 9 10 return 0; 11} Fig04_07.cpp: Error E2304 Fig04_07.cpp 6: Constant variable 'x' must be initialized in function main() Error E2024 Fig04_07.cpp 8: Cannot modify a const object in function main() *** 2 errors in Compile *** Notice that const variables must be initialized because they cannot be modified later.

The Hashemite University12 Character Arrays I Strings is the same as array of characters. All strings end with NULL or '\0' Character array initialization: With string literal, Examples: char string1[] = "hello"; With initializers, Examples: char string1[] = { 'h', 'e', 'l', 'l', 'o', '\0’ }; Input from keyboard char string2[ 10 ]; cin >> string2; Takes user input Side effect: if too much text entered, data written beyond array

The Hashemite University13 Character Arrays II Subscripting is the same as for a normal array String1[ 0 ] is 'h' string1[ 2 ] is 'l' Remember that cin stop reading from keyboard at the first white space. If you enter a string with smaller size than the array size using cin, cin will automatically add a NULL at the end of the string within the array. cout stop printing an array of character when it reaches the ‘\0’. Character arrays that do not terminate with NULL (i.e. not strings) cannot be printed using cout, it will enter an infinite loop  logical error.

The Hashemite University14 1// Fig. 4_12: fig04_12.cpp 2// Treating character arrays as strings 3#include 4 5using std::cout; 6using std::cin; 7using std::endl; 8 9int main() 10{ 11 char string1[ 20 ], string2[] = "string literal"; cout << "Enter a string: "; 14 cin >> string1; 15 cout << "string1 is: " << string1 16 << "\nstring2 is: " << string2 17 << "\nstring1 with spaces between characters is:\n"; for ( int i = 0; string1[ i ] != '\0'; i++ ) 20 cout << string1[ i ] << ' '; cin >> string1; // reads "there" 23 cout << "\nstring1 is: " << string1 << endl; cout << endl; 26 return 0; 27} Enter a string: Hello there string1 is: Hello string2 is: string literal string1 with spaces between characters is: H e l l o string1 is: there Notice how string elements are referenced like arrays. Inputted strings are separated by whitespace characters. "there" stayed in the buffer.

The Hashemite University15 Static Arrays Similar to static storage variable you can define an array to be static. So this array will not be destroyed when you become outside the scope in which it exists. If you do not initialize a static array, by default the compiler will initialize all its elements to 0.

The Hashemite University16 Examples On board: Drawing histograms. Average, sum, product, and display of an array. Static arrays.

The Hashemite University17 Notes Going outside the range of an array is a logical error in C++. There are additional examples of using arrays in the textbook, study them.

The Hashemite University18 Additional Notes This lecture covers the following material from the textbook: Fourth Edition Chapter 4: Sections 4.1 – 4.4