Upload
shannon-little
View
233
Download
1
Tags:
Embed Size (px)
Citation preview
STRUCTURED DATA TYPE: ARRAY
CHAPTER: 12
Introducing ArraysArray is a collection of variables of the same data type that are referenced by a common name.
myList[0]
myList[1]
myList[2]
myList[3]
myList[4]
myList[5]
myList[6]
myList[7]
myList[8]
myList[9]
double myList[10];
myList reference
An Array of 10 Elementsof type double
NEED FOR ARRAYS
Problem: How to store numerous values of same data
type. E.g. store 100 numbers and find max. of
those. Can we store like:
int a, b, c, d, e……. z, A, B, C ……. Z, aa, ab, ac…. az, Aa, Ab, Ac…. Av;
Solution: int a[100]; // an array
Types of Arrays
1. Single Dimensional Arrays
2. Multi Dimensional Arrays
SINGLE DIMENSIONAL ARRAYS
Declaring Array Variables Form:
datatype arrayname[arraySize];
Example:
double myList[10];
Each element in the array is referred to by an index.
myList[0] references the first element in the array.myList[9] references the last element in the array.
The Length of Arrays
Once an array is created, its size is fixed. It cannot be changed. You can find its size using
sizeof(arrayName);
For example,sizeof(myList) returns 10
Initializing Arrays
Using a loop:for (int i = 0; i < sizeof(myList); i++) myList[i] = i; // cin>>myList[i];
Declaring, creating, initializing in one step:double myList[] = {1.9, 2.9, 3.4, 3.5};
This shorthand syntax must be in one statement.
Declaring, creating, initializing Using the Shorthand Notation
double myList[] = {1.9, 2.9, 3.4, 3.5};
This shorthand notation is equivalent to the following statements:
double myList[4];
myList[0] = 1.9;
myList[1] = 2.9;
myList[2] = 3.4;
myList[3] = 3.5;
CAUTION
Using the shorthand notation, you have to declare, create, and initialize the array all in one statement.
Splitting it would cause a syntax error.
For example, the following is wrong:double myList[];
myList = {1.9, 2.9, 3.4, 3.5};
Memory Representation of 1-D Arrays
Example:
double myList[10];
myList[0]
myList[1]
myList[2]
myList[3] . . . . . myList
[9]
2000 2004 2008 2012 . . . . . 2018
Printing Arrays
Arrays are easily printed using for loops. However, formatting the output may require some thought. Determine the output in each case shown below.
Example 1:
int Grades[12]={78,80,82,84,86,88,90,92,94,96,98,100};
for (int j = 0; j < 12; j++)
cout << Grades[ j ] << endl;
Example 2:
int Grades[12]={78,80,82,84,86,88,90,92,94,96,98,100};
for (int j = 0; j < 12; j+=3)
cout << Grades[ j ] << Grades[j+1] << Grades[j+2] << endl;
Example 3:
int Grades[12]={78,80,82,84,86,88,90,92,94,96,98,100};
for (int Row = 0; Row <= 2; Row++)
for (int Col = 0; Col <=3; Col++)
cout << Grades[ 4*Row+Col ] << endl;
Example 4:
int Grades[12]={78,80,82,84,86,88,90,92,94,96,98,100};
for (int Row = 0; Row <= 2; Row++)
{
for (int Col = 0; Col <=3; Col++)
cout << Grades[ 4*Row+Col ];
cout << endl;
}
Home Assignment
Write a program to accept a list of numbers (e.g. 10 numbers) from user and search for a specific number given by user.