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

2.3) Multidimensional Array

The document discusses multi-dimensional arrays and focuses on two-dimensional arrays. It defines two-dimensional arrays, demonstrates how to declare, initialize, input, output and store them. It also provides examples of programs that perform operations like addition, transpose and multiplication of two-dimensional arrays.

Uploaded by

arupghosh123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

2.3) Multidimensional Array

The document discusses multi-dimensional arrays and focuses on two-dimensional arrays. It defines two-dimensional arrays, demonstrates how to declare, initialize, input, output and store them. It also provides examples of programs that perform operations like addition, transpose and multiplication of two-dimensional arrays.

Uploaded by

arupghosh123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

MULTI-DIMENSIONAL

ARRAY

By Smit Parikh
Multi-Dimensional Arrays
⚫ Multidimensional arrays are derived from the
basic or built-in data types of the C language.

⚫ Two-dimensional arrays are understood as rows


and columns with applications including two-
dimensional tables, parallel vectors, and two-
dimensional matrices.

⚫ Mostly Two-dimensional array are used in


Multi-dimensional array.
Arrays of Greater Dimension
One-dimensional arrays are linear containers.
[0] [1] [2]

Multi-dimensional Arrays
[2]
[0] [1] [2] [3] [1]
[0]
[0]
[0]
[1]
[1]
[2]
[2]

Two-Dimensional [3]

[0] [1] [2] [3] [4]


Three-dimensional
TWO DIMENSIONAL
ARRAY
CONTENT
⚫ Introduction to two dimensional array

⚫ Declaration

⚫ Initialization

⚫ Input and output of a 2d array

⚫ Storage allocation
Two - Dimensional Arrays
⚫ What is a Two-dimensional array?
Array type Array name
Array dimension = 2
51, 52, 53 Row 1
B= Int b[2][3] = {(51, 52, 53),(54, 55, 56)};
54, 55, 56 Row 2

Two rows First row second row

Col 1 Col 2 Col 3


Three columns

Algebraic notation C notation


Indexes in 2D arrays
⚫ Assume that the two dimensional array called val is
declared and looks like the following:
val Col 0 Col 1 Col 2 Col 3

Row 0 8 16 9 52

Row 1 3 15 27 6

Row 2 14 25 2 10

⚫ To access the cell containing 6, we reference


val[1][3], that is, row 1, column 3.
7
DECLARATION
⚫ How to declare a multidimensional array?
int b[2][3];

the name of the array to be b


the type of the array elements to be int
the dimension to be 2 (two pairs of brackets [])
the number of elements or size to be 2*3 = 6
Declaration Statement
INITIALIZATION
⚫ How to initialize a Two-Dimensional array?
⚫ Initialized directly in the declaration statement
⚫ int b[2][3] = {51, 52, 53, 54, 55, 56};

⚫ b[0][0] = 51 b[0][1] = 52 b[0][2] = 53

⚫ Use braces to separate rows in 2-D arrays.


⚫ int c[4][3] = {{1, 2, 3},

{4, 5, 6},
{7, 8, 9},
{10, 11, 12}};
⚫ int c[ ][3] = {{1, 2, 3},

{4, 5, 6},
{7, 8, 9},
{10, 11, 12}};
Implicitly declares the number of rows to be 4.
Input of Two-Dimensional Arrays

⚫ Data may be input into two-dimensional


arrays using nested for loops interactively
or with data files.
⚫ A nested for loop is used to input elemts in
a two dimensional array.
⚫ In this way by increasing the index value of
the array the elements can be entered in a
2d array.
Output of Two-Dimensional Arrays

⚫ The output of two-dimensional arrays should


be in the form of rows and columns for
readability. Nested for loops are used to print
the rows and columns in row and column order.

⚫ By increasing the index value of the array the


elements stored at that index value are printed
on the output screen.
A program to input elements in a
two dimensional array and print it.

#include<stdio.h>
#include<conio.h>
void main()
{
int a[3][3];
int i,j;
clrscr();
printf(“enter the elements in the array:”);
for(i=0 ; i<3 ; i++)
{
for(j=0 ; j<3 ; j++)
{
scanf(“%d”,&a[i][j]);
}
}
for(i=0 ; i<3 ; i++)
{
for(j=0 ; j<3 ; j++)
{
printf(“%d”,a[i][j]);
} printf(“\n”);
}
getch();
}
OUTPUT :-
Enter elements in array:
1
2
3
4
5
6
7
8
9
123
456
789
Storage Allocation
In storage allocation of array contagious memory is
allocated to all the array elements.
EXAMPLES BASED ON
TWO-DIMENSIONAL
ARRAY
A program to add two matrix
entered by the user and print it.

#include<stdio.h>
#include<conio.h>
void main()
{
int a[3][3],b[3][3],c[3][3];
int i,j;
clrscr();
printf(“enter the elements in both the array:”);
for(i=0 ; i<3 ; i++)
{
for(j=0 ; j<3 ; j++)
{
scanf(“%d”,&a[i][j]);
}
}
for(i=0 ; i<3 ; i++)
{
for(j=0 ; j<3 ; j++)
{
scanf(“%d”,&b[i][j]);
}
}
for(i=0 ; i<3 ; i++)
{
for(j=0 ; j<3 ; j++)
{
c[i][j]=a[i][j]+b[i][j];
printf(“%d”,c[i][j]);
}
printf(“\n”);
}
getch();
}
OUTPUT:-
Enter elements in array:-
1 3
2 4
3 5
4 6
5 7
6 8
7 9
8 246
9 81012
1 141618
2
A program to input a matrix and
print its transpose.

#include<stdio.h>
#include<conio.h>
void main()
{
int a[3][3],b[3][3];
int i,j;
clrscr();
printf(“enter the elements in the array”);
for(i=0 ; i<3 ; i++)
{
for(j=0 ; j<3 ; j++)
{
scanf(“%d”,&a[i][j]);
}
}
for(j=0 ; i<3 ; i++)
{
for(i=0 ; j<3 ; j++)
{
printf(“%2d”,&b[j][i]);
}
}
getch();
}
OUTPUT:-
Enter elements in array:
1
2
3
4
5
6
7
8
9
147
258
369
A program to multiply two matrix
entered by the user and print it.
#include<stdio.h>
#include<conio.h>
void main()
{
int a[3][3],b[3][3];
int i,j;
clrscr();
printf(“enter the elements in the array”);
for(i=0 ; i<3 ; i++)
{
for(j=0 ; j<3 ; j++)
{
scanf(“%d”,&a[i][j]);
}
}
for(i=0 ; i<3 ; i++)
{
for(j=0 ; j<3 ; j++)
{
scanf(“%d”,&b[i][j]);
}
}
for(i=0 ; i<3 ; i++)
{
for(j=0 ; j<3 ; j++)
c[i][j]=0;
{
for(k=0 ; k<2 ; k++)
{
c[i][j]=c[i][j]+a[i][k]*b[k][j]
printf(“%3d”,c[i][j]);
}
}
printf(“\n”);
}
getch();
}
OUTPUT:-
Enter elements in array:-
1 3
2 4
3 5
4 6
5 7
6 8
7 9
8 30 66 102
9 36 81 121
1 42 96 150
2

You might also like