8-Lecture8 ODM103 C++Arrays
8-Lecture8 ODM103 C++Arrays
8-Lecture8 ODM103 C++Arrays
An array is a sequence of variable that can store value of one particular data type. For example: 15 int type
value, 105 float type value etc.
Defining Arrays
type array_name[size];
int test[85];
The above code creates an array which can hold 85 elements of int type.
Array Elements
The maximum number of elements an array can hold depends upon the size of an array. Consider this code
below:
int age[5];
Array Initialization
Array can be initialized at the time of declaration. For example:
I prefer writing size of array during array declaration because it quickly gives the information on size of an
array while help me in debugging code.
#include <iostream>
using namespace std;
int main() {
int n[5];
cout<<"Enter 5 numbers: ";
/* Storing 5 number entered by user in an array using for loop. */
for (int i = 0; i < 5; ++i) {
cin>>n[i];
}
Output
Enter 5 numbers: 4
-3
5
2
0
First number: 4
Last number: 0
int x[3][4];
Here, x is a two dimensional array. This array can hold 12 elements. You can think this array as table with 3
row and each row has 4 column.
float x[2][4][3];
This array x can hold 24 elements. You can think this example as: Each 2 elements can hold 4 elements,
which makes 8 elements and each 8 elements can hold 3 elements. Hence, total number of elements this array
can hold is 24.
int test[2][3][4] = {
{ {3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2} },
{ {13, 4, 56, 3}, {5, 9, 3, 5}, {3, 1, 4, 9} }
};
#include <iostream>
using namespace std;
int main() {
int test[3][2] = {
{2, -5},
{4, 0},
{9, 1}
};
for(int i = 0; i < 3; ++i) {
for(int j = 0; j < 2; ++j) {
cout<< "test["<< i << "][" << ;j << "] = " << test[i][j]<<endl;
}
}
return 0;
}
test[0][0] = 2
test[0][1] = -5
test[1][0] = 4
test[1][1] = 0
test[2][0] = 9
test[2][1] = 1
#include <iostream>
using namespace std;
const int CITY = 2;
const int WEEK = 7;
int main() {
int temperature[CITY][WEEK];
cout<<"Enter all temperature for a week of first city and then second city. \n";
for (int i = 0; i < CITY; ++i) {
for(int j = 0; j < WEEK; ++j) {
cout<<"City "<<i+1<<", Day "<<j+1<<" : ";
cin>>temperature[i][j];
}
}
cout<<"\n\nDisplaying Values:\n";
for (int i = 0; i < CITY; ++i) {
for(int j = 0; j < WEEK; ++j) {
cout<<"City "<<i+1<<", Day "<<j+1<<" = "<< temperature[i][j]<<endl;
}
}
return 0;
}
Enter all temperature for a week of first city and then second city.
City 1, Day 1 : 32
City 1, Day 2 : 33
City 1, Day 3 : 32
City 1, Day 4 : 34
City 1, Day 5 : 35
City 1, Day 6 : 36
City 1, Day 7 : 38
City 2, Day 1 : 23
City 2, Day 2 : 24
City 2, Day 3 : 26
City 2, Day 4 : 22
City 2, Day 5 : 29
City 2, Day 6 : 27
City 2, Day 7 : 23
Displaying Values:
City 1, Day 1 = 32
City 1, Day 2 = 33
City 1, Day 3 = 32
City 1, Day 4 = 34
City 1, Day 5 = 35
City 1, Day 6 = 36
City 1, Day 7 = 38
City 2, Day 1 = 23
City 2, Day 2 = 24
City 2, Day 3 = 26
City 2, Day 4 = 22
City 2, Day 5 = 29
City 2, Day 6 = 27
City 2, Day 7 = 23
C++ Program to Store value entered by user in three dimensional array and display it.
#include <iostream>
using namespace std;
int main() {
int test[2][3][2]; // this array can store 12 elements
cout<<"Enter 12 values: \n";
for(int i = 0; i < 2; ++i) {
for (int j = 0; j < 3; ++j) {
for(int k = 0; k < 2; ++k ) {
cin>>test[i][j][k];
}
}
}
cout<<"\nDisplaying Value stored:"<<endl;
/* Displaying the values with proper index. */
for(int i = 0; i < 2; ++i) {
for (int j = 0; j < 3; ++j) {
for(int k = 0; k < 2; ++k ) {
cout<< "test["<<i<<"]["<<j<<"]["<<k<<"] = "<< test[i][j][k]<<endl;
}
}
}
return 0;
}
Output
Enter 12 values:
1
2
3
4
5
6
7
8
9
10
11
12
As the number of dimension increases, the complexity also increases tremendously although the concept is
quite similar.
#include <iostream>
using namespace std;
void display(int marks[5]);
int main() {
int marks[5] = {88, 76, 90, 61, 69};
display(marks);
return 0;
}
Output
Displaying marks:
Student 1: 88
Student 2: 76
Student 3: 90
Student 4: 61
Student 5: 69
When an array is passed as an argument to a function, only the name of an array is used as argument.
display(marks);
Also notice the difference while passing array as an argument rather than variable.
The argument used marks in the above code represents the memory address of first element of array
marks[5]. And the formal argument int m[5] in function declaration decays to int* m;. That's why,
although the function is manipulated in the user-defined function with different array name m[5], the original
array is manipulated. The C++ programming language handles passing array to a function in this way to save
memory and time.
Note: You need to have understanding of pointers to understand passing array to a function. Learn more: Call
by reference
#include <iostream>
using namespace std;
void display(int n[3][2]);
int main() {
int num[3][2] = {
{3, 4},
{9, 5},
{7, 1}
};
display(num);
return 0;
}
void display(int n[3][2]) {
Output
Displaying Values:
3 4 9 5 7 1
Multidimensional array with dimension more than 2 can be passed in similar way as two dimensional array.
SUMMARY