2.3) Multidimensional Array
2.3) Multidimensional Array
ARRAY
By Smit Parikh
Multi-Dimensional Arrays
⚫ Multidimensional arrays are derived from the
basic or built-in data types of the C language.
Multi-dimensional Arrays
[2]
[0] [1] [2] [3] [1]
[0]
[0]
[0]
[1]
[1]
[2]
[2]
Two-Dimensional [3]
⚫ Declaration
⚫ Initialization
⚫ 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
Row 0 8 16 9 52
Row 1 3 15 27 6
Row 2 14 25 2 10
{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
#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