0% found this document useful (0 votes)
82 views

4.1 Array

Arrays allow the storage of multiple values of the same type. A 1-dimensional array stores elements in a single list, accessed via an index. Arrays have many applications including finding max/min test scores or sorting names. Arrays are declared with a type, name, and size, and individual elements are accessed using subscripts. Loops can be used to initialize, input, and output array element values. Multidimensional arrays extend the concept to multiple lists, accessed using row and column subscripts.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views

4.1 Array

Arrays allow the storage of multiple values of the same type. A 1-dimensional array stores elements in a single list, accessed via an index. Arrays have many applications including finding max/min test scores or sorting names. Arrays are declared with a type, name, and size, and individual elements are accessed using subscripts. Loops can be used to initialize, input, and output array element values. Multidimensional arrays extend the concept to multiple lists, accessed using row and column subscripts.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Programming

Arrays

Arrays
An array is a collection of data elements that are of the
same type (e.g., a collection of integers, collection of
characters, collection of doubles).

Arrays
1-dimensional array.

Array Applications
Given a list of test scores, determine the
maximum and minimum scores.
Read in a list of student names and rearrange
them in alphabetical order (sorting).
Given the height measurements of students in a
class, output the names of those students who
are taller than average.

Array Declaration
Syntax:
<data type> <arrayName>[<array_size>]
Ex. int Ar[10];
The array elements are all values of the type <data type>
The size of the array is indicated by <array_size>, the
number of elements in the array.
<array_size> must be an int constant or a constant
expression. Note that an array can have multiple dimensions.

Array Declaration
// array of 10 uninitialized ints
int Ar[10];

Ar

--

--

--

--

--

--

--

--

--

--

Subscripting
Declare an array of 10 integers:
int Ar[10];

// array of 10 ints

To access an individual element we must apply a subscript


to array named Ar.
A subscript is a bracketed expression.
The expression in the brackets is known as the index.

First element of array has index 0.


Ar[0]

Second element of array has index 1, and so on.


Ar[1], Ar[2], Ar[3],

Last element has an index one less than the size of the array.
Ar[9]

Incorrect indexing is a common error.

Subscripting
// array of 10 uninitialized ints
int Ar[10];
--

Ar[3] = 1;
int x = Ar[3];

1
--

0
Ar

---

--

---1
------Ar[0] Ar[1] Ar[2] Ar[3] Ar[4] Ar[5] Ar[6] Ar[7] Ar[8]Ar[9]

Subscripting Example 1
//For loop to fill & print a 10-int array

#include <iostream>
using namespace std;
int main ( ) {
int index, ar[10]; // array for 10 integers
// Read in 10 elements.
cout << "Enter 10 integers: ";
for(index = 0; index < 10; index ++)
cin >> ar[index];
cout << endl;
cout << "The integers are ";
for(index = 0; index < 10; index ++)
cout << ar[index] << " ";
cout << endl;
return 0;
}

Array Element Manipulation Ex. 3


Consider
int Ar[10], i = 7, j = 2, k = 4;
Ar[0] = 1;
Ar[i] = 5;
Ar[j] = Ar[i] + 3;
Ar[j+1] = Ar[i] + Ar[0];
Ar[Ar[j]] = 12;
cin >> Ar[k]; // where the next input value is 3
0
Ar

1
-8
6
3
--5
12
-Ar[0] Ar[1] Ar[2] Ar[3] Ar[4] Ar[5] Ar[6] Ar[7] Ar[8]Ar[9]

Array Initialization Ex. 4


int Ar[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1,
0};
0
Ar

Ar[3] = -1;

-1

6
0
Ar

1
8

2
7

3
-1

4
5

5
4

6
3

7
2

8
1

9
0

Program with Arrays


int main()
{
int values[5]= {11,1,3,6,10};
for (int i = 1; i < 5; i++)
{
values[i] = values[i] + values[i-1];
}
values[0] = values[1] + values[4];
}

11

10

Printing arrays
To print an array, you have to print each element in the array using a
loop like the following:
for (int i = 0; i < ARRAY_SIZE; i++)
{
cout << myList[i] << " ";
}

2-D Array Example

2-D Array Example


// 2-D array of 30 uninitialized
ints
int table[3][10];
0
1
2

----

----

----

----

----

----

----

----

----

----

2-D Array References


// 2-D array of 18 uninitialized chars
char table[3][6];
table[1][2] = 'a';
char resp = table[1][2];

table

0
1
2

----

----

-a
--

----

----

----

Ex. 1: 2-D Array Initialization


It is highly recommended, however, that you nest the data in braces to
show the exact nature of the array. For example, array table is better
initialized as :
// 2-D array of 18 initialized chars
char table[3][6]={
{'a','b','c','d','e','f'},
{'g','h','i','j','k','l'},
{'m','n','o','p','q','r'}
};

table

0
1
2

a
g
m

b
h
n

c
i
o

d
j
p

e
k
q

f
l
r

Ex. 1: 2-D Array Inputting Values


Another way to fill up the values is to read them from the keyboard. For a two-dimensional
array this usually requires nested for loops. If the array is an n by m array, the first loop
varies the row from 0 to n-1. The second loop varies the column from 0 to m -1.
const int NUM_ROWS = 3, NUM_COLS = 6;
for (int row=0; row < NUM_ROWS; row++)
for (int column = 0; column < NUM_COLS; column++)
cin>>(table[row][column]);
//input two-dimensional array

table

0
1
2

t
m
n

w
e
a

o
n
l

d
i
a

i
o
r

Ex. 1: 2-D Array Outputting Values


We can print the values of the elements one-by-one using two nested loops.
Again, if the array is an n by m array, the first loop varies the row from 0 to n-1.
The second loop varies the column from 0 to m-1.
const int NUM_ROWS = 3, NUM_COLS = 6;
for (int row=0; row < NUM_ROWS; row++)
for (int column = 0; column < NUM_COLS; column++)
cout << table[row][column];

table

0
1
2

t
m
n

w
e
a

o
n
l

d
i
a

i
o
r

You might also like