SlideShare a Scribd company logo
1 of 58
Array
Sesi 1
Tujuan
Pembelajaran
Materi
2
Hal. 3
Hal. 4
Arrays
• Array - a collection of a fixed number of
components wherein all of the components
have the same data type
• One-dimensional array - an array in which
the components are arranged in a list form
• The general form of declaring a one-
dimensional array is:
dataType arrayName[intExp];
where intExp is any expression that evaluates to a
positive integer 3
Tujuan Pembelajaran
• Mahasiswa mampu menjelaskan pengertian
array
• Mahasiswa mampu menjelaskan dan
menunjukkan cara pembuatan array.
• Mahasiswa mampu menjelaskan dan
menunjukkan program array.
4
Declaring an array
• The statement
int num[5];
declares an array num of 5 components of
the type int
• The components are num[0], num[1],
num[2], num[3], and num[4]
5
6
Accessing Array Components
• The general form (syntax) of accessing an array
component is:
arrayName[indexExp]
where indexExp, called index, is any expression whose
value is a nonnegative integer
• Index value specifies the position of the
component in the array
• The [] operator is called the array
subscripting operator
• The array index always starts at 0 7
8
9
Processing One-Dimensional
Arrays
• Some basic operations performed on a one-
dimensional array are:
– Initialize
– Input data
– Output data stored in an array
– Find the largest and/or smallest element
• Each operation requires ability to step through
the elements of the array
• Easily accomplished by a loop 10
Accessing Array Components
(continued)
• Consider the declaration
int list[100]; //list is an array
//of the size 100
int i;
• This for loop steps through each element of the
array list starting at the first element
for (i = 0; i < 100; i++) //Line 1
//process list[i] //Line 2 11
Accessing Array Components
(continued)
• If processing list requires inputting data into
list
– The statement in Line 2 takes the from of an
input statement, such as the cin statement
for (i = 0; i < 100; i++) //Line 1
cin >> list[i];
12
13
14
Array Index Out of Bounds
• If we have the statements:
double num[10];
int i;
• The component num[i] is a valid index if i
= 0, 1, 2, 3, 4, 5, 6, 7, 8, or 9
• The index of an array is in bounds if the
index >=0 and the index <=
ARRAY_SIZE-1
15
Array Index Out of Bounds
(continued)
• If either the index < 0 or the index >
ARRAY_SIZE-1
– then we say that the index is out of bounds
• There is no guard against indices that are
out of bounds
– C++ does not check if the index value is within
range
16
Array Initialization
• As with simple variables
– Arrays can be initialized while they are being declared
• When initializing arrays while declaring them
– Not necessary to specify the size of the array
• Size of array is determined by the number of initial values in
the braces
• For example:
double sales[] = {12.25, 32.50, 16.90, 23,
45.68};
17
Partial Initialization
• The statement
int list[10] = {0};
declares list to be an array of 10 components and
initializes all components to zero
• The statement
int list[10] = {8, 5, 12};
declares list to be an array of 10 components,
initializes list[0] to 8, list[1] to 5, list[2] to
12 and all other components are initialized to 0
18
Partial Initialization (continued)
• The statement
int list[] = {5, 6, 3};
declares list to be an array of 3 components and
initializes list[0] to 5, list[1] to 6, and list[2] to 3
• The statement
int list[25]= {4, 7};
declares list to be an array of 25 components
– The first two components are initialized to 4 and 7 respectively
– All other components are initialized to 0
19
Restrictions on Array Processing
Assignment does not work with arrays
20
In order to copy one array into another array we must
copy component-wise
Restrictions on Array Processing
(continued)
21
Arrays as Parameters to
Functions
• Arrays are passed by reference only
• The symbol & is not used when declaring an
array as a formal parameter
• The size of the array is usually omitted
22
Arrays as Parameters to
Functions (continued)
• If the size of one-dimensional array is
specified when it is declared as a formal
parameter
– It is ignored by the compiler
• The reserved word const in the
declaration of the formal parameter can
prevent the function from changing the
actual parameter 23
24
25
26
27
Base Address of an Array
• The base address of an array is the address, or
memory location of the first array component
• If list is a one-dimensional array
– base address of list is the address of the
component list[0]
• When we pass an array as a parameter
– base address of the actual array is passed to the
formal parameter
• Functions cannot return a value of the type
array
28
C Strings (Character Arrays)
• Character array - an array whose
components are of type char
• String - a sequence of zero or more
characters enclosed in double quote marks
• C stings are null terminated (‘0’)
• The last character in a string is the null
character
29
C Strings (Character Arrays)
(continued)
• There is a difference between 'A' and "A"
– 'A' is the character A
– "A" is the string A
• Because strings are null terminated, "A"
represents two characters, 'A' and '0‘
• Similarly, "Hello" contains six
characters, 'H', 'e', 'l', 'l', 'o',30
C Strings (Character Arrays)
(continued)
• Consider the statement
char name[16];
• Because C strings are null terminated and
name has sixteen components
– the largest string that can be stored in name is
15
• If you store a string of length, say 10 in
name
– the first 11 components of name are used and
the last 5 are left unused
31
C Strings (Character Arrays)
(continued)
• The statement
char name[16] = "John";
declares a string variable name of length 16
and stores "John" in it
• The statement
char name[] = "John";
declares a string variable name of length 5
and stores "John" in it 32
33
Arrays as Parameters to
Functions (continued)
• If the size of one-dimensional array is
specified when it is declared as a formal
parameter
– It is ignored by the compiler
• The reserved word const in the
declaration of the formal parameter can
prevent the function from changing the
actual parameter 34
Parallel Arrays
• Two (or more) arrays are called parallel if
their corresponding components hold
related information
• For example:
int studentId[50];
char courseGrade[50];
35
Two-Dimensional Arrays
• Two-dimensional Array: a collection of a
fixed number of components arranged in two
dimensions
– All components are of the same type
• The syntax for declaring a two-dimensional
array is:
dataType arrayName[intexp1][intexp2];
where intexp1 and intexp2 are expressions yielding
positive integer values 36
Two-Dimensional Arrays
(continued)
• The two expressions intexp1 and
intexp2 specify the number of rows and the
number of columns, respectively, in the array
• Two-dimensional arrays are sometimes called
matrices or tables
37
Arrays as Parameters to
Functions (continued)
• If the size of one-dimensional array is
specified when it is declared as a formal
parameter
– It is ignored by the compiler
• The reserved word const in the
declaration of the formal parameter can
prevent the function from changing the
actual parameter 38
39
Accessing Array Components
• The syntax to access a component of a two-
dimensional array is:
arrayName[indexexp1][indexexp2]
where indexexp1 and indexexp2 are
expressions yielding nonnegative integer
values
• indexexp1 specifies the row position and
indexexp2 specifies the column position
40
41
Initialization
• Like one-dimensional arrays
– Two-dimensional arrays can be initialized
when they are declared
• To initialize a two-dimensional array when
it is declared
1. Elements of each row are enclosed within
braces and separated by commas
2. All rows are enclosed within braces
3. For number arrays, if all components of a row
are not specified, the unspecified components
are initialized to zero 42
Processing Two-Dimensional
Arrays
• A two-dimensional array can be processed
in three different ways:
1. Process the entire array
2. Process a particular row of the array, called
row processing
3. Process a particular column of the array,
called column processing
43
Processing Two-Dimensional
Arrays (continued)
• Each row and each column of a two-
dimensional array is a one-dimensional
array
• When processing a particular row or
column of a two-dimensional array
– we use algorithms similar to processing one-
dimensional arrays
44
45
46
47
48
49
Passing Two-Dimensional Arrays as
Parameters to Functions
• Two-dimensional arrays can be passed as
parameters to a function
• By default, arrays are passed by reference
• The base address, which is the address of
the first component of the actual parameter,
is passed to the formal parameter
50
Two-Dimensional Arrays
• Two-dimensional arrays are stored in row
order
– The first row is stored first, followed by the
second row, followed by the third row and so
on
• When declaring a two-dimensional array as
a formal parameter
– can omit size of first dimension, but not the
second
• Number of columns must be specified
51
Multidimensional Arrays
• Multidimensional Array: collection of a fixed
number of elements (called components)
arranged in n dimensions (n >= 1)
• Also called an n-dimensional array
• General syntax of declaring an n-dimensional
array is:
dataType arrayName[intExp1][intExp2]...[intExpn];
where intExp1, intExp2, … are constant
expressions yielding positive integer values52
Multidimensional Arrays
(continued)
• The syntax for accessing a component of an n-
dimensional array is:
arrayName[indexExp1][indexExp2]...[indexExpn]
where indexExp1,indexExp2,..., and
indexExpn are expressions yielding
nonnegative integer values
• indexExpi gives the position of the array
component in the ith dimension
53
Multidimensional Arrays
(continued)
• When declaring a multi-dimensional array as a
formal parameter in a function
– can omit size of first dimension but not other
dimensions
• As parameters, multi-dimensional arrays are
passed by reference only
• A function cannot return a value of the type
array
• There is no check if the array indices are
within bounds 54
Summary
• An array is a structured data type with a fixed
number of components
– Every component is of the same type
– Components are accessed using their relative positions in
the array
• Elements of a one-dimensional array are
arranged in the form of a list
• An array index can be any expression that
evaluates to a non-negative integer
• The value of the index must always be less
than the size of the array 55
Summary (continued)
• The base address of an array is the address of
the first array component
• In a function call statement, when passing an
array as an actual parameter, you use only its
name
• As parameters to functions, arrays are passed
by reference only
• A function cannot return a value of the type
array
• In C++, C-strings are null terminated and are
stored in character arrays
56
Summary (continued)
• Commonly used C-string manipulation
functions include: strcpy, strcmp, and strlen
• Parallel arrays are used to hold related
information
• In a two-dimensional array, the elements are
arranged in a table form
57
Summary (continued)
• To access an element of a two-dimensional
array, you need a pair of indices: one for the
row position and one for the column
position
• In row processing, a two-dimensional array
is processed one row at a time
• In column processing, a two-dimensional
array is processed one column at a time 58

More Related Content

What's hot (20)

Sorting
SortingSorting
Sorting
 
CSPC/ PPS Sorting methods
CSPC/ PPS Sorting methodsCSPC/ PPS Sorting methods
CSPC/ PPS Sorting methods
 
U nit i data structure-converted
U nit   i data structure-convertedU nit   i data structure-converted
U nit i data structure-converted
 
Data structures
Data structuresData structures
Data structures
 
Data Structures (BE)
Data Structures (BE)Data Structures (BE)
Data Structures (BE)
 
Lecture 2a arrays
Lecture 2a arraysLecture 2a arrays
Lecture 2a arrays
 
Data Structures- Part3 arrays and searching algorithms
Data Structures- Part3 arrays and searching algorithmsData Structures- Part3 arrays and searching algorithms
Data Structures- Part3 arrays and searching algorithms
 
Bca data structures linked list mrs.sowmya jyothi
Bca data structures linked list mrs.sowmya jyothiBca data structures linked list mrs.sowmya jyothi
Bca data structures linked list mrs.sowmya jyothi
 
Elementary data structure
Elementary data structureElementary data structure
Elementary data structure
 
Data Structures (CS8391)
Data Structures (CS8391)Data Structures (CS8391)
Data Structures (CS8391)
 
Data structure ppt
Data structure pptData structure ppt
Data structure ppt
 
C++ arrays part1
C++ arrays part1C++ arrays part1
C++ arrays part1
 
Data Structure
Data StructureData Structure
Data Structure
 
Data structures
Data structuresData structures
Data structures
 
9 python data structure-2
9 python data structure-29 python data structure-2
9 python data structure-2
 
Arrays Data Structure
Arrays Data StructureArrays Data Structure
Arrays Data Structure
 
Data structure
Data structureData structure
Data structure
 
Datastructures and algorithms prepared by M.V.Brehmanada Reddy
Datastructures and algorithms prepared by M.V.Brehmanada ReddyDatastructures and algorithms prepared by M.V.Brehmanada Reddy
Datastructures and algorithms prepared by M.V.Brehmanada Reddy
 
Searching
SearchingSearching
Searching
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 

Similar to Array (20)

Arrays_and_Strings_in_C_Programming.pptx
Arrays_and_Strings_in_C_Programming.pptxArrays_and_Strings_in_C_Programming.pptx
Arrays_and_Strings_in_C_Programming.pptx
 
Arrays
ArraysArrays
Arrays
 
Unit 6. Arrays
Unit 6. ArraysUnit 6. Arrays
Unit 6. Arrays
 
ARRAYS.pptx
ARRAYS.pptxARRAYS.pptx
ARRAYS.pptx
 
C++ Arrays
C++ ArraysC++ Arrays
C++ Arrays
 
C++ Arrays
C++ ArraysC++ Arrays
C++ Arrays
 
2. Array in Data Structure
2. Array in Data Structure2. Array in Data Structure
2. Array in Data Structure
 
Arrays
ArraysArrays
Arrays
 
Arrays.pptx
Arrays.pptxArrays.pptx
Arrays.pptx
 
Algo>Arrays
Algo>ArraysAlgo>Arrays
Algo>Arrays
 
data structure unit -1_170434dd7400.pptx
data structure unit -1_170434dd7400.pptxdata structure unit -1_170434dd7400.pptx
data structure unit -1_170434dd7400.pptx
 
Ch08
Ch08Ch08
Ch08
 
ARRAYS.pptx
ARRAYS.pptxARRAYS.pptx
ARRAYS.pptx
 
Arrays
ArraysArrays
Arrays
 
ch9.ppt
ch9.pptch9.ppt
ch9.ppt
 
Unit 2
Unit 2Unit 2
Unit 2
 
array-191103180006.pdf
array-191103180006.pdfarray-191103180006.pdf
array-191103180006.pdf
 
Session 7 En
Session 7 EnSession 7 En
Session 7 En
 
Session 7 En
Session 7 EnSession 7 En
Session 7 En
 
Unit 2 linear data structures
Unit 2   linear data structuresUnit 2   linear data structures
Unit 2 linear data structures
 

More from Fahuda E

Bab 2 sorting array (1)
Bab 2 sorting array (1)Bab 2 sorting array (1)
Bab 2 sorting array (1)Fahuda E
 
Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Fahuda E
 
Bab 3 searching array (1)
Bab 3 searching array (1)Bab 3 searching array (1)
Bab 3 searching array (1)Fahuda E
 
Materi 2: komponen game
Materi 2: komponen gameMateri 2: komponen game
Materi 2: komponen gameFahuda E
 
Materi 1: gdlc
Materi 1: gdlcMateri 1: gdlc
Materi 1: gdlcFahuda E
 
Materi 5: sprite
Materi 5: spriteMateri 5: sprite
Materi 5: spriteFahuda E
 
Materi 4: lod
Materi 4: lodMateri 4: lod
Materi 4: lodFahuda E
 
Materi 3 rendering graphic dan game
Materi 3   rendering graphic dan gameMateri 3   rendering graphic dan game
Materi 3 rendering graphic dan gameFahuda E
 
Materi 7 perangkat lunak sistem
Materi 7 perangkat lunak sistemMateri 7 perangkat lunak sistem
Materi 7 perangkat lunak sistemFahuda E
 
Materi 6 perangkat lunak aplikasi
Materi 6 perangkat lunak aplikasiMateri 6 perangkat lunak aplikasi
Materi 6 perangkat lunak aplikasiFahuda E
 
Materi 5 penyimpanan eksternal
Materi 5 penyimpanan eksternalMateri 5 penyimpanan eksternal
Materi 5 penyimpanan eksternalFahuda E
 
Materi 4 peranti keluaran
Materi 4 peranti keluaranMateri 4 peranti keluaran
Materi 4 peranti keluaranFahuda E
 
Materi 3 peranti masukan
Materi 3 peranti masukanMateri 3 peranti masukan
Materi 3 peranti masukanFahuda E
 
Rules tugas besar asd
Rules tugas besar asdRules tugas besar asd
Rules tugas besar asdFahuda E
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked listFahuda E
 
Bab 4 queue (antrian)
Bab 4 queue (antrian)Bab 4 queue (antrian)
Bab 4 queue (antrian)Fahuda E
 
Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Fahuda E
 
Bab 2 sorting array
Bab 2 sorting arrayBab 2 sorting array
Bab 2 sorting arrayFahuda E
 

More from Fahuda E (20)

Bab 2 sorting array (1)
Bab 2 sorting array (1)Bab 2 sorting array (1)
Bab 2 sorting array (1)
 
Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)Bab 4 stack (tumpukan)
Bab 4 stack (tumpukan)
 
Bab 3 searching array (1)
Bab 3 searching array (1)Bab 3 searching array (1)
Bab 3 searching array (1)
 
Materi 2: komponen game
Materi 2: komponen gameMateri 2: komponen game
Materi 2: komponen game
 
Materi 1: gdlc
Materi 1: gdlcMateri 1: gdlc
Materi 1: gdlc
 
Materi 5: sprite
Materi 5: spriteMateri 5: sprite
Materi 5: sprite
 
Materi 4: lod
Materi 4: lodMateri 4: lod
Materi 4: lod
 
Materi 3 rendering graphic dan game
Materi 3   rendering graphic dan gameMateri 3   rendering graphic dan game
Materi 3 rendering graphic dan game
 
Materi 7 perangkat lunak sistem
Materi 7 perangkat lunak sistemMateri 7 perangkat lunak sistem
Materi 7 perangkat lunak sistem
 
Materi 6 perangkat lunak aplikasi
Materi 6 perangkat lunak aplikasiMateri 6 perangkat lunak aplikasi
Materi 6 perangkat lunak aplikasi
 
Materi 5 penyimpanan eksternal
Materi 5 penyimpanan eksternalMateri 5 penyimpanan eksternal
Materi 5 penyimpanan eksternal
 
Materi 4 peranti keluaran
Materi 4 peranti keluaranMateri 4 peranti keluaran
Materi 4 peranti keluaran
 
Materi 3 peranti masukan
Materi 3 peranti masukanMateri 3 peranti masukan
Materi 3 peranti masukan
 
Struct
StructStruct
Struct
 
Rules tugas besar asd
Rules tugas besar asdRules tugas besar asd
Rules tugas besar asd
 
Pointer
PointerPointer
Pointer
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
 
Bab 4 queue (antrian)
Bab 4 queue (antrian)Bab 4 queue (antrian)
Bab 4 queue (antrian)
 
Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)
 
Bab 2 sorting array
Bab 2 sorting arrayBab 2 sorting array
Bab 2 sorting array
 

Recently uploaded

Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 

Recently uploaded (20)

Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 

Array

  • 3. Arrays • Array - a collection of a fixed number of components wherein all of the components have the same data type • One-dimensional array - an array in which the components are arranged in a list form • The general form of declaring a one- dimensional array is: dataType arrayName[intExp]; where intExp is any expression that evaluates to a positive integer 3
  • 4. Tujuan Pembelajaran • Mahasiswa mampu menjelaskan pengertian array • Mahasiswa mampu menjelaskan dan menunjukkan cara pembuatan array. • Mahasiswa mampu menjelaskan dan menunjukkan program array. 4
  • 5. Declaring an array • The statement int num[5]; declares an array num of 5 components of the type int • The components are num[0], num[1], num[2], num[3], and num[4] 5
  • 6. 6
  • 7. Accessing Array Components • The general form (syntax) of accessing an array component is: arrayName[indexExp] where indexExp, called index, is any expression whose value is a nonnegative integer • Index value specifies the position of the component in the array • The [] operator is called the array subscripting operator • The array index always starts at 0 7
  • 8. 8
  • 9. 9
  • 10. Processing One-Dimensional Arrays • Some basic operations performed on a one- dimensional array are: – Initialize – Input data – Output data stored in an array – Find the largest and/or smallest element • Each operation requires ability to step through the elements of the array • Easily accomplished by a loop 10
  • 11. Accessing Array Components (continued) • Consider the declaration int list[100]; //list is an array //of the size 100 int i; • This for loop steps through each element of the array list starting at the first element for (i = 0; i < 100; i++) //Line 1 //process list[i] //Line 2 11
  • 12. Accessing Array Components (continued) • If processing list requires inputting data into list – The statement in Line 2 takes the from of an input statement, such as the cin statement for (i = 0; i < 100; i++) //Line 1 cin >> list[i]; 12
  • 13. 13
  • 14. 14
  • 15. Array Index Out of Bounds • If we have the statements: double num[10]; int i; • The component num[i] is a valid index if i = 0, 1, 2, 3, 4, 5, 6, 7, 8, or 9 • The index of an array is in bounds if the index >=0 and the index <= ARRAY_SIZE-1 15
  • 16. Array Index Out of Bounds (continued) • If either the index < 0 or the index > ARRAY_SIZE-1 – then we say that the index is out of bounds • There is no guard against indices that are out of bounds – C++ does not check if the index value is within range 16
  • 17. Array Initialization • As with simple variables – Arrays can be initialized while they are being declared • When initializing arrays while declaring them – Not necessary to specify the size of the array • Size of array is determined by the number of initial values in the braces • For example: double sales[] = {12.25, 32.50, 16.90, 23, 45.68}; 17
  • 18. Partial Initialization • The statement int list[10] = {0}; declares list to be an array of 10 components and initializes all components to zero • The statement int list[10] = {8, 5, 12}; declares list to be an array of 10 components, initializes list[0] to 8, list[1] to 5, list[2] to 12 and all other components are initialized to 0 18
  • 19. Partial Initialization (continued) • The statement int list[] = {5, 6, 3}; declares list to be an array of 3 components and initializes list[0] to 5, list[1] to 6, and list[2] to 3 • The statement int list[25]= {4, 7}; declares list to be an array of 25 components – The first two components are initialized to 4 and 7 respectively – All other components are initialized to 0 19
  • 20. Restrictions on Array Processing Assignment does not work with arrays 20 In order to copy one array into another array we must copy component-wise
  • 21. Restrictions on Array Processing (continued) 21
  • 22. Arrays as Parameters to Functions • Arrays are passed by reference only • The symbol & is not used when declaring an array as a formal parameter • The size of the array is usually omitted 22
  • 23. Arrays as Parameters to Functions (continued) • If the size of one-dimensional array is specified when it is declared as a formal parameter – It is ignored by the compiler • The reserved word const in the declaration of the formal parameter can prevent the function from changing the actual parameter 23
  • 24. 24
  • 25. 25
  • 26. 26
  • 27. 27
  • 28. Base Address of an Array • The base address of an array is the address, or memory location of the first array component • If list is a one-dimensional array – base address of list is the address of the component list[0] • When we pass an array as a parameter – base address of the actual array is passed to the formal parameter • Functions cannot return a value of the type array 28
  • 29. C Strings (Character Arrays) • Character array - an array whose components are of type char • String - a sequence of zero or more characters enclosed in double quote marks • C stings are null terminated (‘0’) • The last character in a string is the null character 29
  • 30. C Strings (Character Arrays) (continued) • There is a difference between 'A' and "A" – 'A' is the character A – "A" is the string A • Because strings are null terminated, "A" represents two characters, 'A' and '0‘ • Similarly, "Hello" contains six characters, 'H', 'e', 'l', 'l', 'o',30
  • 31. C Strings (Character Arrays) (continued) • Consider the statement char name[16]; • Because C strings are null terminated and name has sixteen components – the largest string that can be stored in name is 15 • If you store a string of length, say 10 in name – the first 11 components of name are used and the last 5 are left unused 31
  • 32. C Strings (Character Arrays) (continued) • The statement char name[16] = "John"; declares a string variable name of length 16 and stores "John" in it • The statement char name[] = "John"; declares a string variable name of length 5 and stores "John" in it 32
  • 33. 33
  • 34. Arrays as Parameters to Functions (continued) • If the size of one-dimensional array is specified when it is declared as a formal parameter – It is ignored by the compiler • The reserved word const in the declaration of the formal parameter can prevent the function from changing the actual parameter 34
  • 35. Parallel Arrays • Two (or more) arrays are called parallel if their corresponding components hold related information • For example: int studentId[50]; char courseGrade[50]; 35
  • 36. Two-Dimensional Arrays • Two-dimensional Array: a collection of a fixed number of components arranged in two dimensions – All components are of the same type • The syntax for declaring a two-dimensional array is: dataType arrayName[intexp1][intexp2]; where intexp1 and intexp2 are expressions yielding positive integer values 36
  • 37. Two-Dimensional Arrays (continued) • The two expressions intexp1 and intexp2 specify the number of rows and the number of columns, respectively, in the array • Two-dimensional arrays are sometimes called matrices or tables 37
  • 38. Arrays as Parameters to Functions (continued) • If the size of one-dimensional array is specified when it is declared as a formal parameter – It is ignored by the compiler • The reserved word const in the declaration of the formal parameter can prevent the function from changing the actual parameter 38
  • 39. 39
  • 40. Accessing Array Components • The syntax to access a component of a two- dimensional array is: arrayName[indexexp1][indexexp2] where indexexp1 and indexexp2 are expressions yielding nonnegative integer values • indexexp1 specifies the row position and indexexp2 specifies the column position 40
  • 41. 41
  • 42. Initialization • Like one-dimensional arrays – Two-dimensional arrays can be initialized when they are declared • To initialize a two-dimensional array when it is declared 1. Elements of each row are enclosed within braces and separated by commas 2. All rows are enclosed within braces 3. For number arrays, if all components of a row are not specified, the unspecified components are initialized to zero 42
  • 43. Processing Two-Dimensional Arrays • A two-dimensional array can be processed in three different ways: 1. Process the entire array 2. Process a particular row of the array, called row processing 3. Process a particular column of the array, called column processing 43
  • 44. Processing Two-Dimensional Arrays (continued) • Each row and each column of a two- dimensional array is a one-dimensional array • When processing a particular row or column of a two-dimensional array – we use algorithms similar to processing one- dimensional arrays 44
  • 45. 45
  • 46. 46
  • 47. 47
  • 48. 48
  • 49. 49
  • 50. Passing Two-Dimensional Arrays as Parameters to Functions • Two-dimensional arrays can be passed as parameters to a function • By default, arrays are passed by reference • The base address, which is the address of the first component of the actual parameter, is passed to the formal parameter 50
  • 51. Two-Dimensional Arrays • Two-dimensional arrays are stored in row order – The first row is stored first, followed by the second row, followed by the third row and so on • When declaring a two-dimensional array as a formal parameter – can omit size of first dimension, but not the second • Number of columns must be specified 51
  • 52. Multidimensional Arrays • Multidimensional Array: collection of a fixed number of elements (called components) arranged in n dimensions (n >= 1) • Also called an n-dimensional array • General syntax of declaring an n-dimensional array is: dataType arrayName[intExp1][intExp2]...[intExpn]; where intExp1, intExp2, … are constant expressions yielding positive integer values52
  • 53. Multidimensional Arrays (continued) • The syntax for accessing a component of an n- dimensional array is: arrayName[indexExp1][indexExp2]...[indexExpn] where indexExp1,indexExp2,..., and indexExpn are expressions yielding nonnegative integer values • indexExpi gives the position of the array component in the ith dimension 53
  • 54. Multidimensional Arrays (continued) • When declaring a multi-dimensional array as a formal parameter in a function – can omit size of first dimension but not other dimensions • As parameters, multi-dimensional arrays are passed by reference only • A function cannot return a value of the type array • There is no check if the array indices are within bounds 54
  • 55. Summary • An array is a structured data type with a fixed number of components – Every component is of the same type – Components are accessed using their relative positions in the array • Elements of a one-dimensional array are arranged in the form of a list • An array index can be any expression that evaluates to a non-negative integer • The value of the index must always be less than the size of the array 55
  • 56. Summary (continued) • The base address of an array is the address of the first array component • In a function call statement, when passing an array as an actual parameter, you use only its name • As parameters to functions, arrays are passed by reference only • A function cannot return a value of the type array • In C++, C-strings are null terminated and are stored in character arrays 56
  • 57. Summary (continued) • Commonly used C-string manipulation functions include: strcpy, strcmp, and strlen • Parallel arrays are used to hold related information • In a two-dimensional array, the elements are arranged in a table form 57
  • 58. Summary (continued) • To access an element of a two-dimensional array, you need a pair of indices: one for the row position and one for the column position • In row processing, a two-dimensional array is processed one row at a time • In column processing, a two-dimensional array is processed one column at a time 58