0% found this document useful (0 votes)
5 views28 pages

5 Arrays in C++( FoP)

The document provides an overview of arrays in programming, detailing their structure, declaration, initialization, and usage in operations. It covers single and multi-dimensional arrays, including examples of how to declare, initialize, and manipulate them using loops. Additionally, it introduces concepts like constant variables for array sizes and demonstrates various programming techniques such as nested loops and the use of break and continue statements.

Uploaded by

eeshaamir2004
Copyright
© © All Rights Reserved
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% found this document useful (0 votes)
5 views28 pages

5 Arrays in C++( FoP)

The document provides an overview of arrays in programming, detailing their structure, declaration, initialization, and usage in operations. It covers single and multi-dimensional arrays, including examples of how to declare, initialize, and manipulate them using loops. Additionally, it introduces concepts like constant variables for array sizes and demonstrates various programming techniques such as nested loops and the use of break and continue statements.

Uploaded by

eeshaamir2004
Copyright
© © All Rights Reserved
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/ 28

CS-114 Fundamentals of

Programming

Arrays

Instructor: Jahan Zeb


Department of Computer & Software Engineering (DC&SE)
College of E&ME
NUST
Introduction

 Arrays
– Structures of related data items
– Static entity (same size throughout program)
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 ]
– First element at position 0
 N-element array c
c[ 0 ], c[ 1 ] … c[ n - 1 ]
– Nth element as position N-1
Arrays

 Array elements like other variables


– Assignment, printing for an integer array c
c[ 0 ] = 3;
cout << c[ 0 ];
 Can perform operations inside subscript
c[ 5 – 2 ] same as c[3]
Arrays
Name of array (Note that
all elements of this array
have the same name, c)

c[0] -45
c[1] 6
c[2] 0
c[3] 72
c[4] 1543
c[5] -89
c[6] 0
c[7] 62
c[8] -3
c[9] 1
c[10] 6453
c[11] 78

Position number of the


element within array c
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

 Declaring multiple arrays of same type


– Use comma separated list, like regular variables
int b[ 100 ], x[ 27 ];
Examples Using Arrays

 Initializing arrays
– For loop
• Set each element
– Initializer list
• Specify each element when array declared
int n[ 5 ] = { 1, 2, 3, 4, 5 };
• If not enough initializers, rightmost elements 0
– To set every element to same value
int n[ 5 ] = { 0 };
– If array size omitted, initializers determine size
int n[] = { 1, 2, 3, 4, 5 };
• 5 initializers, therefore 5 element array
1
2 // 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
Declare a 10-element array of
12 int main() integers.
13 {
14 int n[ 10 ]; // n is an array ofInitialize array
10 integers to 0 using a
15 for loop. Note that the array
16 // initialize elements of array nhas
toelements
0 n[0] to n[9].
17 for ( int i = 0; i < 10; i++ )
18 n[ i ] = 0; // set element at location i to 0
19
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
26 return 0; // indicates successful termination
27
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
1
2 // 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() Note the use of the initializer
13 { list.
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 format
20 for ( int i = 0; i < 10; i++ )
21 cout << setw( 7 ) << i << setw( 13 ) << n[ i ] << endl;
22
23 return 0; // indicates successful termination
24
25 } // end main
Element Value
0 32
1 27
2 64
3 18
4 95
5 14
6 90
7 70
8 60
9 37
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
1
2 // 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 Note use of const keyword.
12 int main()
Only const variables can
13 {
specify array sizes.
14 // constant variable can be used to specify array size
15 const int arraySize = 10;
The program becomes more
16
17 int s[ arraySize ]; // array s
scalable when we set the array
has 10 elements
18 size using a const variable.
19 for ( int i = 0; i < arraySize; i++ ) //We setcan change
the arraySize,
values
20 s[ i ] = 2 + 2 * i; and all the loops will still
21 work (otherwise, we’d have to
22 cout << "Element" << setw( 13 ) update
<< "Value" every loop in the
<< endl;
23 program).
24 // output contents of array s in tabular format
25 for ( int j = 0; j < arraySize; j++ )
26 cout << setw( 7 ) << j << setw( 13 ) << s[ j ] << endl;
27
28 return 0; // indicates successful termination
29
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
1
2 // Using a properly initialized constant variable.
3 #include <iostream>
4
5 using std::cout;
6 using std::endl;
7 Proper initialization of
8 int main() const variable.
9 {
10 const int x = 7; // initialized constant variable
11
12 cout << "The value of constant variable x is: "
13 << x << endl;
14
15 return 0; // indicates successful termination
16
17 } // end main

The value of constant variable x is: 7


1
2 // A const object must be initialized.
3 Uninitialized const results
4 int main() in a syntax error. Attempting
5 { to modify the const is
6 const int x; // Error: x another
must error.
be initialized
7
8 x = 7; // Error: cannot modify a const variable
9
10 return 0; // indicates successful termination
11
12 } // end main

d:\cpphtp4_examples\ch04\Fig04_07.cpp(6) : error C2734: 'x' :


const object must be initialized
1
2 // 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 termination
23
24 } // end main

Total of array element values is 55


1
2 // 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 = 10;
15 int n[ arraySize ] = { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 };
16
17 cout << "Element" << setw( 13 ) << "Value"
18 << setw( 17 ) << "Histogram" << endl;
19
20 // for each element of array n, output a bar in histogram
21 for ( int i = 0; i < arraySize; i++ ) { Prints asterisks corresponding
22 cout << setw( 7 ) << i << setw( 13 )
to size of array element,
23 << n[ i ] << setw( 9 );
n[i].
24
25 for ( int j = 0; j < n[ i ]; j++ ) // print one bar
26 cout << '*';
27
28 cout << endl; // start next line of output
29
30 } // end outer for structure
31
32 return 0; // indicates successful termination
33
34 } // end main

Element Value Histogram


0 19 *******************
1 3 ***
2 15 ***************
3 7 *******
4 11 ***********
5 9 *********
6 13 *************
7 5 *****
8 17 *****************
9 1 *
Today’s Learning Outcomes
 Recap

 break/continue statements
 Related Examples

 Nested Loops
 Related Examples

 2D Arrays

 Related Examples
'break’ statement
#include <iostream>
using namespace std; 1
int main() 2
{
for (int i = 1; i <= 5; i++)
{ // break condition

if (i == 3)
{
break; }
cout << i << endl;
}
return 0;
}
‘continue’ statement
#include <iostream>
1
using namespace std;
int main()
2
{ 4
for (int i = 1; i <= 5; i++) { // 5
condition to continue
if (i == 3)
{
continue; }
cout << i << endl; }
return 0;
}
Nested Loops
#include <iostream>
using namespace std;

int main()
{
* * *
int rows = 5; int columns = 3; * * *
for (int i = 1; i <= rows; ++i)

{
* * *
for (int j = 1; j <= columns; ++j)

{ cout << "* "; }


* * *
}
cout << endl; * * *
return 0;
}
Multiple-Subscripted Arrays

 Multiple subscripts
– a[ i ][ j ]
– Tables with rows and columns
– Specify row, then column
– “Array of arrays”
• a[0] is an array of 4 elements
• a[0][0] is the first element of that array
Column 0 Column 1 Column 2 Column 3
Row 0 a[ 0 ][ 0 ] a[ 0 ][ 1 ] a[ 0 ][ 2 ] a[ 0 ][ 3 ]

Row 1 a[ 1 ][ 0 ] a[ 1 ][ 1 ] a[ 1 ][ 2 ] a[ 1 ][ 3 ]

Row 2 a[ 2 ][ 0 ] a[ 2 ][ 1 ] a[ 2 ][ 2 ] a[ 2 ][ 3 ]

Column subscript

Array name
Row subscript
Multiple-Subscripted Arrays

 To initialize
– Default of 0
– Initializers grouped by row in braces
1 2
int b[ 2 ][ 2 ] = { { 1, 2 }, { 3, 4 } }; 3 4
Row 0 Row 1

1 0

int b[ 2 ][ 2 ] = { { 1 }, { 3, 4 } }; 3 4
Multiple-Subscripted Arrays

 Referenced like normal


cout << b[ 0 ][ 1 ]; 1 0

– Outputs 0 3 4

– Cannot reference using commas


cout << b[ 0, 1 ];
• Syntax error
 Function prototypes
– Must specify sizes of subscripts
• First subscript not necessary, as with single-scripted arrays
– void printArray( int [][ 3 ] );
1
2 // Initializing multidimensional arrays.
3 #include <iostream>
4 Using namespace std; Note the format of the
5 prototype.
6
7 Note the various initialization
8 styles. The elements in
9
array2 are assigned to the
10 int main()
first row and then the second.
11 {
12 int array1[ 2 ][ 3 ] = { { 1, 2, 3 }, { 4, 5, 6 } };
13 int array2[ 2 ][ 3 ] = { 1, 2, 3, 4, 5 };
14 int array3[ 2 ][ 3 ] = { { 1, 2 }, { 4 } };
15
16 cout << "Values in array1 by row are:" << endl;
28
32 for ( int i = 0; i < 2; i++ ) {
For loops are often used to
// for each row
33 iterate through arrays. Nested
34 for ( int j = 0; j < 3; j++ ) loops are
// output helpful
column with
values
35 cout << array1[ i ][ j ] << ' '; multiple-subscripted arrays.
36
37 cout << endl; // start new line of output
38
39 } // end outer for structure
40
41

Values in array1 by row are:


1 2 3
4 5 6
Values in array2 by row are:
1 2 3
4 5 0
Values in array3 by row are:
1 2 0
4 0 0

You might also like