Arrays allow storing multiple values in consecutive memory locations using a single name. An array contains elements that are accessed using an index. There are different types of arrays including one-dimensional, two-dimensional, and N-dimensional arrays. Arrays can be initialized by assigning values at declaration time. Elements are accessed using the array name and index. Common array operations include searching, sorting, and computing statistics like mean, median and mode.
2. ARRAYS & Matrices
SK Ahsan
WHAT IS ARRAYS?
An array is a group of consecutive memory locations
with same name and data type.
Simple variable is a single memory location with unique
name and a type. But an Array is collection of different
adjacent memory locations. All these memory locations
have one collective name and type.
The memory locations in the array are known as
elements of array.The total number of elements in the
array is called length.
The elements of array is accessed with reference to its
position in array, that is call index or subscript.
3. ARRAYS & Matrices
SK Ahsan
WHAT IS AN ARRAY?
■ We refer to all stored values in an array by its
name
■ If we would like to access a particular value
stored in an array, we specify its index (i.e. its
position relative to the first array value)
– The first array index is always 0
– The second value is stored in index 1
– Etc.
4. ARRAYS & Matrices
SK Ahsan
WHAT IS AN ARRAYS?
■ Arrays
– Structures of related data items
– Static entity (same size throughout program)
■ A few types
– Pointer-based arrays (C-like)
– Arrays as objects (C++)
5. ARRAYS & Matrices
SK Ahsan
Advantages / Uses of Arrays
■ Arrays can store a large number of value with single name.
■ Arrays are used to process many value easily and quickly.
■ The values stored in an array can be sorted easily.
■ The search process can be applied on arrays easily.
6. ARRAYS & Matrices
SK Ahsan
Types of Arrays:
–One-Dimensional Array
–Two-Dimensional Array
–N-Dimensional Array
7. ARRAYS & Matrices
SK Ahsan
One-D Array
A type of array in which all elements are arranged in the form of a list is known as 1-D array or
single dimensional array or linear list.
Declaring 1-DArray:
data_type identifier[length]; e.g: int marks[5];
o Data _type: Data type of values to be stored in the array.
o Identifier: Name of the array.
o Length: Number of elements.
8. ARRAYS & Matrices
SK Ahsan
ARRAY INITIALIZATION
■ 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
■ If too many syntax error
– 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
8
9. ARRAYS & Matrices
SK Ahsan
One-D array Intialization
The process of assigning values to array elements at the time of array declaration is called array
initialization.
Syntax:
data_type identifier[length]={ List of values }; e.g: int marks[5]={70,54,82,96,49};
o Data _type: Data type of values to be stored in the array.
o Identifier: Name of the array.
o Length: Number of elements
o List of values: Values to initialize the array. Initializing values must be constant
70 54 82 96 49
10. ARRAYS & Matrices
SK Ahsan
Accessing element of array
■ Individual Element:
Array_name[index];
■ Using Loop:
int marks[5];
for(int i=0;i<=4;i++)
marks[i]=i;
11. ARRAYS & Matrices
SK Ahsan
INITIALIZE AND ACCESS INDIVIDUAL INDEX
// This program displays the number of days in each month.
// It uses a 12-element int array.
#include <iostream.h>
void main(void)
{
int days[12];
days[0] = 31; // January
days[1] = 28; // February
days[2] = 31; // March
days[3] = 30; // April
days[4] = 31; // May
days[5] = 30; // June
days[6] = 31; // July
12. ARRAYS & Matrices
SK Ahsan
Cont…
days[7] = 31; // August
days[8] = 30; // September
days[9] = 31; // October
days[10] = 30; // November
days[11] = 31; // December
for (int count = 0; count < 12; count++)
{
cout << "Month " << (count + 1) << " has ";
cout << days[count] << " days.n";
}
}
13. ARRAYS & Matrices
SK Ahsan
Output
Month 1 has 31 days.
Month 2 has 28 days.
Month 3 has 31 days.
Month 4 has 30 days.
Month 5 has 31 days.
Month 6 has 30 days.
Month 7 has 31 days.
Month 8 has 31 days.
Month 9 has 30 days.
Month 10 has 31 days.
Month 11 has 30 days.
Month 12 has 31 days.
14. ARRAYS & Matrices
SK Ahsan
PARTIAL ARRAY INITIALIZATION
// This program displays the number of days in each month.
// It uses a 12-element int array.
#include <iostream.h>
void main(void)
{
int days[12] = {31, 28, 31, 30,
31, 30, 31, 31,
30, 31, 30, 31};
for (int count = 0; count < 12; count++)
{
cout << "Month " << (count + 1) << " has ";
cout << days[count] << " days.n";
}
}
15. ARRAYS & Matrices
SK Ahsan
OUTPUT
Month 1 has 31 days.
Month 2 has 28 days.
Month 3 has 31 days.
Month 4 has 30 days.
Month 5 has 31 days.
Month 6 has 30 days.
Month 7 has 31 days.
Month 8 has 31 days.
Month 9 has 30 days.
Month 10 has 31 days.
Month 11 has 30 days.
Month 12 has 31 days.
15
16. ARRAYS & Matrices
SK Ahsan
Print ASCIIValues
// This program uses an array of ten characters to store the
// first ten letters of the alphabet. The ASCII codes of the
// characters are displayed.
#include <iostream.h>
void main(void)
{
char letters[10] = {'A', 'B', 'C', 'D', 'E',
'F', 'G', 'H', 'I', 'J'};
cout << "Character" << "t" << "ASCII Coden";
cout << "--------" << "t" << "----------n";
for (int count = 0; count < 10; count++)
{
cout << letters[count] << "tt";
cout << int(letters[count]) << endl;
}
}
16
17. ARRAYS & Matrices
SK Ahsan
Output
Character ASCII Code
--------- ----------
A 65
B 66
C 67
D 68
E 69
F 70
G 71
H 72
I 73
J 74
18. ARRAYS & Matrices
SK Ahsan
// Histogram printing program.
#include <iostream>
#include <iomanip>
using std::setw;
int main() {
const int arraySize = 10;
int n[ arraySize ] = { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 };
cout << "Element" << setw( 13 ) << "Value"<< setw( 17 ) << "Histogram"<< endl;
// for each element of array n, output a bar in histogram
for ( int i = 0; i < arraySize; i++ ) {
cout << setw( 7 ) << i << setw( 13 )<< n[ i ] << setw( 9 );
for ( int j = 0; j < n[ i ]; j++ ) // print one bar
cout << '*';
cout << endl; // start next line of output
} // end outer for structure
return 0; // indicates successful termination
} // end main
PRINT HISTOGRAM
Element Value Histogram
0 19 *******************
1 3 ***
2 15 ***************
3 7 *******
4 11 ***********
5 9 *********
6 13 *************
7 5 *****
8 17 *****************
9 1 *
19. ARRAYS & Matrices
SK Ahsan
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(){
float a[] = { 22.2,44.4, 66.6 };
float x=11.1;
cout << "I m going to Crash " << endl;
cin >> x;
a[3333] = 88.8; // ERROR: index is out of bounds!
system("PAUSE"); return 0;
}
ARRAY OUT OF BOUND
20. ARRAYS & Matrices
SK Ahsan
Searching In Array
Searching is a process of finding the required data in the array. Searching becomes more
important when the length of the array is very large.
There are two techniques to searching elements in array as follows:
■ Sequential search
■ Binary search
21. ARRAYS & Matrices
SK Ahsan
Sequential Search
Sequential search is also known as linear or serial search. It follows the following step to search a
value in array.
– Visit the first element of array and compare its value with required value.
– If the value of array matches with the desired value, the search is complete.
– If the value of array does not match, move to next element an repeat same process.
22. ARRAYS & Matrices
SK Ahsan
Binary Search
Binary search is a quicker method of searching for value in the array. Binary search is very quick but
it can only search an sorted array. It cannot be applied on an unsorted array.
o It locates the middle element of array and compare with desired number.
o If they are equal, search is successful and the index of middle element is returned.
o If they are not equal, it reduces the search to half of the array.
o If the search number is less than the middle element, it searches the first half of array.
Otherwise it searches the second half of the array.The process continues until the required
number is found or loop completes without successful search.
23. ARRAYS & Matrices
SK Ahsan
Sorting Arrays
Sorting is a process of arranging the value of array in a particular order. An array can be sorted
in two order.
o Ascending Order
o DescendingOrder
12 25 33 37 48
48 37 33 25 12
24. ARRAYS & Matrices
SK Ahsan
Techniques Of Sorting Array
There are two techniques of sorting array:
o Selection Sort
o Bubble Sort
25. ARRAYS & Matrices
SK Ahsan
Selection Sort
Selection sort is a technique that sort an array. It selects an element in the array and moves it
to its proper position. Selection sort works as follows:
1. Find the minimum value in the list.
2. Swap it with value in the first position.
3. Sort the remainder of the list excluding the first value.
26. ARRAYS & Matrices
SK Ahsan
Bubble Sort
Bubble Sort is also known as exchange sort. It repeatedly visits the array and compares two
items at a time. It works as follows:
o Compare adjacent element. If the first is greater than the second, swap them.
o Repeat this for each pair of adjacent element, starting with the first two and ending
with the last two. (at this point last element should be greatest).
o Repeat the step for all elements except the last one.
o Keep repeating for one fewer element each time until there are no pairs to compare.
27. ARRAYS & Matrices
SK Ahsan
Two-D Arrays
Two-D array can be considered as table that consists of rows and columns. Each element in 2-D array
is refered with the help of two indexes. One index indicates row and second indicates the column.
Declaring 2-D Array:
Data_type Identifier[row][column];
e.g: int arr[4][3];
o Data _type: Data type of values to be stored in the array.
o Identifier: Name of the array.
o Rows : # of Rows in the table of array.
o Column : # of Columns in the table of array.
0,0 0,1 0,2
1,0 1,1 1,2
2,0 2,1 2,2
3,0 3,1 3,2
28. ARRAYS & Matrices
SK Ahsan
Two-D array Intialization
The two-D array can also be initialized at the time of declaration. Initialization is performed by assigning
the initial values in braces seperated by commas.
Some important points :
o The elements of each row are enclosed within braces and seperated by comma.
o All rows are enclosed within braces.
o For number arrays, if all elements are not specified , the un specified elements are initialized by
zero.
30. ARRAYS & Matrices
SK Ahsan
Case Study: Computing Mean, Median and Mode
Using Arrays
■ Mean
– Average (sum/number of elements)
■ Median
– Number in middle of sorted list
– 1, 2, 3, 4, 5 (3 is median)
– If even number of elements, take average of middle two
■ Mode
– Number that occurs most often
– 1, 1, 1, 2, 3, 3, 4, 5 (1 is mode)
31. ARRAYS & Matrices
SK Ahsan
Case Study
■Find Set Properties
–Set Union
–Set Differences