0% found this document useful (0 votes)
21 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
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 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
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