SlideShare a Scribd company logo
Arrays
CS 308 – Data Structures
One-Dimensional Arrays
• A list of values with the same data type that
are stored using a single group name (array
name).
• General array declaration statement:
data-type array-name[number-of-items];
• The number-of-items must be specified
before declaring the array.
const int SIZE = 100;
float arr[SIZE];
• Individual elements of the array can be
accessed by specifying the name of the
array and the element's index:
arr[3]
• Warning: indices assume values from 0 to
number-of-items -1!!
One-Dimensional Arrays (cont.)
One-Dimensional Arrays (cont.)
arr[0] arr[1] arr[2] arr[3] arr[4]
Skip over 3 elements to get
the starting location of
element 3
The array name arr identifies
the starting location of the array
Start here
element 3
1D Array Initialization
• Arrays can be initialized during their declaration
int arr[5] = {98, 87, 92, 79, 85};
int arr[5] = {98, 87} - what happens in this case??
• What is the difference between the following two
declarations ?
char codes[] = {'s', 'a', 'm', 'p', 'l', 'e'};
char codes[] = "sample";
codes[0] codes[1] codes[2] codes[3] codes[4] codes[5] codes[6]
s a m p l e 0
Two-dimensional Arrays
• A two-dimensional array consists of both rows
and columns of elements.
• General array declaration statement:
data-type array-name[number-of-rows][number-of-columns];
• The number-of-rows and number-of-columns must
be specified before declaring the array.
const int ROWS = 100;
const int COLS = 50;
float arr2D[ROWS][COLS];
• Individual elements of the array can be accessed
by specifying the name of the array and the
element's row, column indices.
arr2D[3][5]
Two-dimensional Arrays (cont.)
2D Array Initialization
• Arrays can be initialized during their
declaration
int arr2D[3][3] = { {98, 87, 92}, {79, 85, 19},
{32, 18, 2} };
• The compiler fills the array row by row
(elements are stored in the memory in the
same order).
1D Arrays as Arguments
• Individual array elements are passed to a
function in the same manner as other
variables.
max = find_max(arr[1], arr[3]);
• To pass the whole array to a function, you
need to specify the name of the array only!!
#include <iostream.h>
float find_average(int [], int);
void main()
{
const numElems = 5;
int arr[numElems] = {2, 18, 1, 27, 16};
cout << "The average is " << find_average(arr, numElems) << endl;
}
float find_average(int vals[], int n)
{
int i;
float avg;
avg=0.0;
for(i=0; i<n; i++)
avg += vals[i];
avg = avg/n;
return avg;
}
• Important: this is essentially "call by
reference":
a) The name of the array arr stores the address of the
first element of the array arr[0] (i.e., &arr[0]).
b) Every other element of the array can be accessed by
using its index as an offset from the first element.
1D Arrays as Arguments (cont.)
arr[0] arr[1] arr[2] arr[3] arr[4]
The starting address of arr array is &arr[0].
This is passed to the function find_average()
2D Arrays as Arguments
• Individual array elements are passed to a function
in the same manner as other variables.
max = find_max(arr2D[1][1], arr2D[1][2]);
• To pass the whole array to a function, you need to
specify the name of the array only!!
• The number of columns must be specified in the
function prototype and function header.
#include <iostream.h>
float find_average(int [][2], int, int);
void main()
{
const numRows = 2;
const numCols = 2;
int arr2D[numRows][numCols] = {2, 18, 1, 27};
float average;
average = find_average(arr2D, numRows, numCols);
cout << "The average is " << average << endl;
}
float find_average(int vals[][2], int n, int m)
{
int i,j;
float avg;
avg=0.0;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
avg += vals[i][j];
avg = avg/(n*m);
return avg;
}
• Important: this is essentially "call by
reference":
a) The name of the array arr2D stores the address
of arr2D[0] (i.e., &arr2D[0])
b) arr2D[0] stores the address of the first element
of the array arr2D[0][0] (&arr2D[0][0])
c) Every other element of the array can be
accessed by using its indices as an offset from
the first element.
2D Arrays as Arguments (cont.)

More Related Content

PPTX
The document discusses arrays in data structures using Cpp programming langua...
PPTX
C (PPS)Programming for problem solving.pptx
PPTX
C-Programming Arrays.pptx
PPTX
C-Programming Arrays.pptx
PPTX
Array Introduction One-dimensional array Multidimensional array
PDF
array-191103180006.pdf
PPTX
Arrays in C++
PPTX
BHARGAVIARRAY.PPT.pptx
The document discusses arrays in data structures using Cpp programming langua...
C (PPS)Programming for problem solving.pptx
C-Programming Arrays.pptx
C-Programming Arrays.pptx
Array Introduction One-dimensional array Multidimensional array
array-191103180006.pdf
Arrays in C++
BHARGAVIARRAY.PPT.pptx

Similar to Use syntax highlighting for C++ code (via plugins like "Highlight Code" for PowerPoint). (20)

PPTX
Arrays in c
PPTX
PPTX
arrays in c# including Classes handling arrays
PPTX
Arrays 1D and 2D , and multi dimensional
PPT
Basics of Data structure using C describing basics concepts
PPT
PPTX
PDF
Unit 2
PDF
Lecture 2.8 Arrays.pdf
PPTX
2D Array
PPT
Session 7 En
PPT
Session 7 En
PDF
Homework Assignment – Array Technical DocumentWrite a technical .pdf
PPT
PPTX
object oriented programing in python and pip
PPTX
Lec26.pptx An array is a linear data structure
PDF
Introduction to Arrays in C
PPT
Algo>Arrays
PPTX
PPTX
Module1_arrays.pptx
Arrays in c
arrays in c# including Classes handling arrays
Arrays 1D and 2D , and multi dimensional
Basics of Data structure using C describing basics concepts
Unit 2
Lecture 2.8 Arrays.pdf
2D Array
Session 7 En
Session 7 En
Homework Assignment – Array Technical DocumentWrite a technical .pdf
object oriented programing in python and pip
Lec26.pptx An array is a linear data structure
Introduction to Arrays in C
Algo>Arrays
Module1_arrays.pptx
Ad

Recently uploaded (20)

PDF
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
PDF
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PDF
Galatica Smart Energy Infrastructure Startup Pitch Deck
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PPTX
Business Acumen Training GuidePresentation.pptx
PPTX
Introduction to machine learning and Linear Models
PDF
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PPTX
Qualitative Qantitative and Mixed Methods.pptx
PPTX
Introduction to Knowledge Engineering Part 1
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PDF
Lecture1 pattern recognition............
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PPTX
1_Introduction to advance data techniques.pptx
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
Miokarditis (Inflamasi pada Otot Jantung)
Galatica Smart Energy Infrastructure Startup Pitch Deck
STUDY DESIGN details- Lt Col Maksud (21).pptx
Business Acumen Training GuidePresentation.pptx
Introduction to machine learning and Linear Models
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
Data_Analytics_and_PowerBI_Presentation.pptx
Qualitative Qantitative and Mixed Methods.pptx
Introduction to Knowledge Engineering Part 1
Introduction-to-Cloud-ComputingFinal.pptx
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
oil_refinery_comprehensive_20250804084928 (1).pptx
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
Lecture1 pattern recognition............
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
1_Introduction to advance data techniques.pptx
climate analysis of Dhaka ,Banglades.pptx
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
Ad

Use syntax highlighting for C++ code (via plugins like "Highlight Code" for PowerPoint).

  • 1. Arrays CS 308 – Data Structures
  • 2. One-Dimensional Arrays • A list of values with the same data type that are stored using a single group name (array name). • General array declaration statement: data-type array-name[number-of-items]; • The number-of-items must be specified before declaring the array. const int SIZE = 100; float arr[SIZE];
  • 3. • Individual elements of the array can be accessed by specifying the name of the array and the element's index: arr[3] • Warning: indices assume values from 0 to number-of-items -1!! One-Dimensional Arrays (cont.)
  • 4. One-Dimensional Arrays (cont.) arr[0] arr[1] arr[2] arr[3] arr[4] Skip over 3 elements to get the starting location of element 3 The array name arr identifies the starting location of the array Start here element 3
  • 5. 1D Array Initialization • Arrays can be initialized during their declaration int arr[5] = {98, 87, 92, 79, 85}; int arr[5] = {98, 87} - what happens in this case?? • What is the difference between the following two declarations ? char codes[] = {'s', 'a', 'm', 'p', 'l', 'e'}; char codes[] = "sample"; codes[0] codes[1] codes[2] codes[3] codes[4] codes[5] codes[6] s a m p l e 0
  • 6. Two-dimensional Arrays • A two-dimensional array consists of both rows and columns of elements. • General array declaration statement: data-type array-name[number-of-rows][number-of-columns];
  • 7. • The number-of-rows and number-of-columns must be specified before declaring the array. const int ROWS = 100; const int COLS = 50; float arr2D[ROWS][COLS]; • Individual elements of the array can be accessed by specifying the name of the array and the element's row, column indices. arr2D[3][5] Two-dimensional Arrays (cont.)
  • 8. 2D Array Initialization • Arrays can be initialized during their declaration int arr2D[3][3] = { {98, 87, 92}, {79, 85, 19}, {32, 18, 2} }; • The compiler fills the array row by row (elements are stored in the memory in the same order).
  • 9. 1D Arrays as Arguments • Individual array elements are passed to a function in the same manner as other variables. max = find_max(arr[1], arr[3]); • To pass the whole array to a function, you need to specify the name of the array only!!
  • 10. #include <iostream.h> float find_average(int [], int); void main() { const numElems = 5; int arr[numElems] = {2, 18, 1, 27, 16}; cout << "The average is " << find_average(arr, numElems) << endl; } float find_average(int vals[], int n) { int i; float avg; avg=0.0; for(i=0; i<n; i++) avg += vals[i]; avg = avg/n; return avg; }
  • 11. • Important: this is essentially "call by reference": a) The name of the array arr stores the address of the first element of the array arr[0] (i.e., &arr[0]). b) Every other element of the array can be accessed by using its index as an offset from the first element. 1D Arrays as Arguments (cont.) arr[0] arr[1] arr[2] arr[3] arr[4] The starting address of arr array is &arr[0]. This is passed to the function find_average()
  • 12. 2D Arrays as Arguments • Individual array elements are passed to a function in the same manner as other variables. max = find_max(arr2D[1][1], arr2D[1][2]); • To pass the whole array to a function, you need to specify the name of the array only!! • The number of columns must be specified in the function prototype and function header.
  • 13. #include <iostream.h> float find_average(int [][2], int, int); void main() { const numRows = 2; const numCols = 2; int arr2D[numRows][numCols] = {2, 18, 1, 27}; float average; average = find_average(arr2D, numRows, numCols); cout << "The average is " << average << endl; }
  • 14. float find_average(int vals[][2], int n, int m) { int i,j; float avg; avg=0.0; for(i=0; i<n; i++) for(j=0; j<m; j++) avg += vals[i][j]; avg = avg/(n*m); return avg; }
  • 15. • Important: this is essentially "call by reference": a) The name of the array arr2D stores the address of arr2D[0] (i.e., &arr2D[0]) b) arr2D[0] stores the address of the first element of the array arr2D[0][0] (&arr2D[0][0]) c) Every other element of the array can be accessed by using its indices as an offset from the first element. 2D Arrays as Arguments (cont.)