2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays...

37
2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays

Transcript of 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays...

Page 1: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

1

Arrays

OutlineIntroductionArraysDeclaring ArraysExamples Using Arrays

Page 2: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

2

Introduction

• Arrays– Structures (collection) of related data items

(same type data items)– Static entity (maintain the same size throughout

program execution)

Page 3: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

3

Arrays

• Array– Consecutive group of memory locations – Same name and type (int, char, etc.)

• To refer to an element– Specify array name and position number (index)– Format: arrayname[ position_number ]– An Array index must be an integer– First element at position 0

• N-element array cc[ 0 ], c[ 1 ] … c[ n - 1 ]

– Nth element as position N-1

Page 4: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

4

Arrays

• Array elements like other variables– Assignment, printing for an integer array c

c[ 0 ] = 3;

cout << c[ 0 ];

• Can perform operations inside subscriptc[ 5 – 2 ] same as c[3]

int a = 6, b= 5;

c[ a + b ] += 2;

Page 5: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

5

Arrays

c[6]

-45

6

0

72

1543

-89

0

62

-3

1

6453

78

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

 

Value

Page 6: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

6

Declaring Arrays

• When declaring arrays, specify– Name– Type of array

• Any data type

– Number of elements– type arrayName[ arraySize ];

int c[ 10 ]; // array of 10 integers

float d[ 3284 ]; // array of 3284 floats

– arraySize: MUST be a positive integer

• Declaring multiple arrays of same type– Use comma separated list, like regular variables

int b[ 100 ], x[ 27 ];

Page 7: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

7

Declaring Arrays

• Array of type char can be used to store a character string– string objects have so far been used to store

character strings– Arrays can do the same thing (more later)

Page 8: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

8

Examples Using Arrays

• Initializing arrays – For loop

• Set each element

– Initializer list• Specify each element when array declaredint n[ 5 ] = { 1, 2, 3, 4, 5 }; • If not enough initializers rightmost elements 0• If too many syntax error

– To set every element to same valueint n[ 5 ] = { 0 };

– If array size omitted initializers determine sizeint n[] = { 1, 2, 3, 4, 5 };

• 5 initializers, therefore 5 element array

Page 9: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline9

1 // Fig. 7.3: fig07_03.cpp2 // Initializing an array.3 #include <iostream>4 5 using std::cout;6 using std::endl;7 8 #include <iomanip>9 10 using std::setw;11 12 int main()13 {14 int n[ 10 ]; // n is an array of 10 integers15 16 // initialize elements of array n to 0 17 for ( int i = 0; i < 10; i++ ) 18 n[ i ] = 0; // set element at location i to 019 20 cout << "Element" << setw( 13 ) << "Value" << endl;21 22 // output contents of array n in tabular format 23 for ( int j = 0; j < 10; j++ ) 24 cout << setw( 7 ) << j << setw( 13 ) << n[ j ] << endl;25

Declare a 10-element array of integers.

Initialize array to 0 using a for loop. Note that the array has elements n[0] to n[9].

Page 10: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline10

26 return 0; // indicates successful termination27 28 } // end main

Element Value

0 0

1 0

2 0

3 0

4 0

5 0

6 0

7 0

8 0

9 0

Page 11: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline11

1 // Fig. 7.4: fig07_04.cpp2 // Initializing an array with a declaration.3 #include <iostream>4 5 using std::cout;6 using std::endl;7 8 #include <iomanip>9 10 using std::setw;11 12 int main()13 {14 // use initializer list to initialize array n 15 int n[ 10 ] = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 };16 17 cout << "Element" << setw( 13 ) << "Value" << endl;18 19 // output contents of array n in tabular format20 for ( int i = 0; i < 10; i++ )21 cout << setw( 7 ) << i << setw( 13 ) << n[ i ] << endl;22 23 return 0; // indicates successful termination24 25 } // end main

Note the use of the initializer list.

Page 12: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline12

Element Value

0 32

1 27

2 64

3 18

4 95

5 14

6 90

7 70

8 60

9 37

Page 13: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

13

Examples Using Arrays

• Array size– Can be specified with constant variable (const)

• const int size = 20;

– Constants cannot be changed– Constants must be initialized when declared– Also called named constants or read-only

variables

Page 14: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline14

1 // Fig. 7.5: fig07_05.cpp2 // Initialize array s to the even integers from 2 to 20.3 #include <iostream>4 5 using std::cout;6 using std::endl;7 8 #include <iomanip>9 10 using std::setw;11 12 int main()13 {14 // constant variable can be used to specify array size15 const int arraySize = 10;16 17 int s[ arraySize ]; // array s has 10 elements18 19 for ( int i = 0; i < arraySize; i++ ) // set the values20 s[ i ] = 2 + 2 * i; 21 22 cout << "Element" << setw( 13 ) << "Value" << endl;23

Note use of const keyword. Only const variables can specify array sizes.

The program becomes more scalable when we set the array size using a const variable. We can change arraySize, and all the loops will still work (otherwise, we’d have to update every loop in the program).

Page 15: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline15

24 // output contents of array s in tabular format25 for ( int j = 0; j < arraySize; j++ ) 26 cout << setw( 7 ) << j << setw( 13 ) << s[ j ] << endl;27 28 return 0; // indicates successful termination29 30 } // end main

Element Value

0 2

1 4

2 6

3 8

4 10

5 12

6 14

7 16

8 18

9 20

Page 16: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline16

1 // Fig. 7.6: fig07_06.cpp2 // Using a properly initialized constant variable.3 #include <iostream>4 5 using std::cout;6 using std::endl;7 8 int main()9 {10 const int x = 7; // initialized constant variable11 12 cout << "The value of constant variable x is: "13 << x << endl;14 15 return 0; // indicates successful termination16 17 } // end main

The value of constant variable x is: 7

Proper initialization of const variable. (cannot be modified later)

Page 17: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline17

1 // Fig. 7.7: fig07_07.cpp2 // A const object must be initialized.3 4 int main()5 {6 const int x; // Error: x must be initialized7 8 x = 7; // Error: cannot modify a const variable9 10 return 0; // indicates successful termination11 12 } // end main

d:\cpphtp7_examples\ch04\Fig07_07.cpp(8) : error C2166:

l-value specifies const object

Uninitialized const results in a syntax error. Attempting to modify the const is another error.

Page 18: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline18

1 // Fig. 7.8: fig07_08.cpp2 // Compute the sum of the elements of the array.3 #include <iostream>4 5 using std::cout;6 using std::endl;7 8 int main()9 {10 const int arraySize = 10;11 12 int a[ arraySize ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };13 14 int total = 0;15 16 // sum contents of array a 17 for ( int i = 0; i < arraySize; i++ )18 total += a[ i ]; 19 20 cout << "Total of array element values is " << total << endl;21 22 return 0; // indicates successful termination23 24 } // end main

Total of array element values is 55

Summing the elements of an array

Page 19: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

19

Showing array data graphically

– Example: show distribution of grades of a specific class

– Grade distribution is stored in an array of 11 elements, each corresponds to a category of grade

• Example: – category 1: [0..9]– category 2: [10..19]– etc…

Page 20: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline20

1 // Fig. 7.9: fig07_09.cpp2 // Histogram printing program.3 #include <iostream>4 5 using std::cout;6 using std::endl;7 8 #include <iomanip>9 10 using std::setw;11 12 int main()13 {14 const int arraySize = 11;15 int n[ arraySize ] = { 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1 };16 17 cout << “Grade Distribution:" << endl; 18 19 // for each element of array n, output a bar in histogram20 for ( int i = 0; i < arraySize; i++ ) {21 // output bar labels (“0-9:”,…“90-99:”, “100:”) 22 if (i == 0)

23 cout << “0-9:”;24 else if (i == 10)25 cout << “100:”;26 else27 cout << i * 10 << “-” << (i * 10) + 9<< “: ”;

Page 21: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline21

28 // print bar of asterisks29 for ( int stars = 0; stars < n[ i ]; stars++ )30 cout << '*'; 31 32 cout << endl; // start next line of output33 34 } // end outer for structure35 36 return 0; // indicates successful termination 37 } // end main

Grade distribution

0-9:

10-19:

20-29:

30-39:

40-49:

50-59:

60-69: *

70-79: * *

80-89: * * * *

90-99: * *

100: *

Number of students with grades in the range: 10*i--10*i+9.

Page 22: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline22

1 // Fig. 7.10: fig07_10.cpp2 // Roll a six-sided die 6000000 times.3 #include <iostream>4 5 using std::cout;6 using std::endl;7 8 #include <iomanip>9 10 using std::setw;11 12 #include <cstdlib>13 #include <ctime>14 15 int main()16 {17 const int arraySize = 7; // ignore element zero18 int frequency[ arraySize ] = { 0 };19 20 srand( time( 0 ) ); // seed random-number generator21 22 // roll die 6000000 times23 for ( int roll = 1; roll <= 6000000; roll++ ) 24 frequency[ 1 + rand() % 6 ]++; 25

Remake of old program to roll dice. An array is used instead of 6 regular variables, and the proper element can be updated easily (without needing a switch).

This creates a number between 1 and 6, which determines the index of frequency[] that should be incremented.

Using Elements of array as counters

Page 23: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline23

26 27 cout << "Face" << setw( 13 ) << "Frequency" << endl;28 29 // output frequency elements 1-6 in tabular format30 for ( int face = 1; face < arraySize; face++ ) 31 cout << setw( 4 ) << face32 << setw( 13 ) << frequency[ face ] << endl;33 34 return 0; // indicates successful termination35 36 } // end main

Face Frequency

1 1000167

2 1000149

3 1000152

4 998748

5 999626

6 1001158

Page 24: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

24

Using arrays to summarize survey results

Forty students were asked to rate the quality of the food in the student cafeteria on a scale of 1 to 10 (1 meaning awful and 10 meaning excellent). Place the 40 responses in an integer array and summarize the results of the poll

Page 25: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline25

1 // Fig. 7.11: fig07_11.cpp2 // Student poll program.3 #include <iostream>4 5 using std::cout;6 using std::endl;7 8 #include <iomanip>9 10 using std::setw;11 12 int main()13 {14 // define array sizes15 const int responseSize = 40; // size of array responses16 const int frequencySize = 11; // size of array frequency17 18 // place survey responses in array responses19 const int responses[ responseSize ] = { 1, 2, 6, 4, 8, 5, 9, 7, 8,20 10, 1, 6, 3, 8, 6, 10, 3, 8, 2, 7, 6, 5, 7, 6, 8, 6, 7,21 5, 6, 6, 5, 6, 7, 5, 6, 4, 8, 6, 8, 10 };22 23 // initialize frequency counters to 024 int frequency[ frequencySize ] = { 0 };25

Array declared as const int this means its value cannot and should not change

Page 26: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline26

26 // for each answer, select value of an element of array27 // responses and use that value as subscript in array28 // frequency to determine element to increment29 for ( int answer = 0; answer < responseSize; answer++ )30 frequency[ responses[answer] ]++;31 32 // display results33 cout << "Rating" << setw( 17 ) << "Frequency" << endl;34 35 // output frequencies in tabular format36 for ( int rating = 1; rating < frequencySize; rating++ )37 cout << setw( 6 ) << rating38 << setw( 17 ) << frequency[ rating ] << endl;39 40 return 0; // indicates successful termination41 42 } // end main

responses[answer] is the rating (from 1 to 10). This determines the index in frequency[] to increment.

Page 27: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline27

Rating Frequency

1 2

2 2

3 2

4 2

5 5

6 11

7 5

8 7

9 1

10 3

NOTE: what happens when the data in responses contain an invalid value (e.g., 13)… C++ does not do a boundary check logic error happens (NOT SYNTAX ERROR)

Page 28: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

28

Using character arrays to store and manipulate strings

• string has been used to store character strings– A string such as “Hello” is an array of characters

• A character array can be declared and initialized as:– char string1[] = “first”;– The size of array string1 is not explicitly defined, but

it is determined by the compiler based on the length of the string.

– NOTE: • all strings represented by a character array ends with a

special character (the null character ‘\0’)• A character array representing a string should be

defined large enough to hold the number of characters in the string + the termination character

Page 29: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

29

Using character arrays to store and manipulate strings

• One could also use this method to declare strings:

char string1[] = {‘f’, ‘i’, ‘r’, ‘s’, ‘t’, ‘\0’};

If you don’t use ‘\0’, the array would simply represent an array of characters, not a string!

if you specify the size of string1 and the size of “list of initializers” is larger syntax error

• char arrays can be manipulated as other arrays, example:– string[0] = ‘f’;

Page 30: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

30

Using character arrays to store and manipulate strings

• Input from keyboardchar string2[ 20 ];

cin >> string2;

– Puts user input in string• Stops at first whitespace characterAdds null character

– If too much text entered, data written beyond array

• We want to avoid this

• Printing strings– cout << string2 << endl;

• Does not work for other array types

– Characters printed until null found

Page 31: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline31

1 // Fig. 7.12: fig07_12.cpp2 // treating character arrays as strings.3 #include <iostream>4 using std::cout;5 using std::cin;6 using std::endl;78 int main()9 {10 char string1 [20]; // reserve 20 characters11 char string2 [] = “string literal”; // reserve 15 characters12 13 // read string from user into array string114 cout << “Enter the string “\hello there\”: ”;15 cin >> string1; // read “hello” [space terminates input]1617 // output strings18 cout << “string1 is: ” << string1 << “\nstring2 is: ” << string2; 19 cout << “\nstring1 with spaces between characters is:\n”;2021 // output characters until null character is reached22 for ( int i = 0; string1[ i ]!= ‘\0’; i++ )23 cout << string1[ i ] << ‘ ’;2425 cin >> string1; // reads “there”26 cout << “\nstring1 is: ” << string1 <<endl; 2728 return 0; // indicates successful termination 29 } // end main

Page 32: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline32

Enter the string “hello there”: hello there

string1 is: hello

string2 is: string literal

string1 with spaces between characters is:

h e l l o

string1 is: there

Page 33: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc. All rights reserved.

33

Static and automatic local variables

• Recall static storage – If static, local variables save values between

function calls– Visible only in function body– Can declare local arrays to be static

• Initialized to zerostatic int array[3];

• If not static– Created (and destroyed) in every function call

Page 34: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline34

1 // Fig. 7.13: fig07_13.cpp2 // Static arrays are initialized to zero.3 #include <iostream>4 5 using std::cout;6 using std::endl;7 8 void staticArrayInit( void ); // function prototype9 void automaticArrayInit( void ); // function prototype10 11 int main()12 {13 cout << "First call to each function:\n";14 staticArrayInit();15 automaticArrayInit();16 17 cout << "\n\nSecond call to each function:\n";18 staticArrayInit();19 automaticArrayInit();20 cout << endl;21 22 return 0; // indicates successful termination23 24 } // end main25

Page 35: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline35

26 // function to demonstrate a static local array27 void staticArrayInit( void )28 {29 // initializes elements to 0 first time function is called30 static int array1[ 3 ]; 31 32 cout << "\nValues on entering staticArrayInit:\n";33 34 // output contents of array135 for ( int i = 0; i < 3; i++ )36 cout << "array1[" << i << "] = " << array1[ i ] << " ";37 38 cout << "\nValues on exiting staticArrayInit:\n";39 40 // modify and output contents of array141 for ( int j = 0; j < 3; j++ )42 cout << "array1[" << j << "] = " 43 << ( array1[ j ] += 5 ) << " ";44 45 } // end function staticArrayInit46

Static array, initialized to zero on first function call.

Array data is changed; the modified values stay.

Page 36: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline36

47 // function to demonstrate an automatic local array48 void automaticArrayInit( void )49 {50 // initializes elements each time function is called51 int array2[ 3 ] = { 1, 2, 3 };52 53 cout << "\n\nValues on entering automaticArrayInit:\n";54 55 // output contents of array256 for ( int i = 0; i < 3; i++ )57 cout << "array2[" << i << "] = " << array2[ i ] << " ";58 59 cout << "\nValues on exiting automaticArrayInit:\n";60 61 // modify and output contents of array262 for ( int j = 0; j < 3; j++ )63 cout << "array2[" << j << "] = " 64 << ( array2[ j ] += 5 ) << " ";65 66 } // end function automaticArrayInit

Automatic array, recreated with every function call.

Although the array is changed, it will be destroyed when the function exits and the changes will be lost.

Page 37: 2003 Prentice Hall, Inc. All rights reserved. 1 Arrays Outline Introduction Arrays Declaring Arrays Examples Using Arrays.

2003 Prentice Hall, Inc.All rights reserved.

Outline37

First call to each function:

 

Values on entering staticArrayInit:

array1[0] = 0 array1[1] = 0 array1[2] = 0

Values on exiting staticArrayInit:

array1[0] = 5 array1[1] = 5 array1[2] = 5

 

Values on entering automaticArrayInit:

array2[0] = 1 array2[1] = 2 array2[2] = 3

Values on exiting automaticArrayInit:

array2[0] = 6 array2[1] = 7 array2[2] = 8

 

Second call to each function:

 

Values on entering staticArrayInit:

array1[0] = 5 array1[1] = 5 array1[2] = 5

Values on exiting staticArrayInit:

array1[0] = 10 array1[1] = 10 array1[2] = 10

 

Values on entering automaticArrayInit:

array2[0] = 1 array2[1] = 2 array2[2] = 3

Values on exiting automaticArrayInit:

array2[0] = 6 array2[1] = 7 array2[2] = 8