Arrays and Multiplication
Arrays and Multiplication
ini
ti
on:An
arr
ay
i
sadatastruct
urethatcont
ainsagr
oupofel
ement
s.Ty
pical
l
ytheseel
ement
sar
eal
loft
hesame
dat
atype,
suchasanint
egerorstr
ing.
•
Arr
ayshav
e0ast
hef
ir
sti
ndex,
not1.I
nthi
sexampl
e,mar
k[0]i
sthef
ir
stel
ement
.
•
Ift
hesi
zeofanar
rayi
sn,
toaccesst
hel
astel
ement
,then-
1indexi
sused.I
nthi
sexampl
e,mar
k[4]
•
Supposethest
art
ingaddressofmar
k[0]i
s2120d.Then,
theaddr
essoft
hemar
k[1]wi
l
lbe2124d.Si
mil
arl
y,
t
headdressofmark[
2]wil
lbe2128dandsoon.
Thi
sisbecauset
hesi
zeofaf
loati
s4by
tes
Howt
odecl
areanar
ray
?
SYNTAX: dat
aTy
pear
ray
Name[
arr
aySi
ze]
;
EXAMPLE: f
loatmar
k[5]
;
i
ntmar
k[5]={
19,
10,
8,17,
9};
i
ntmar
k[]={
19,
10,
8,17,
9};
i
nta[
10]={
0,1,
2,3,
4,5,
6};
i
ntnum[
5]={}
; /
/num =[
0,0,
0,0,
0]
i
ntnum[
5]={0}
; /
/num =[
0,0,
0,0,
0]
i
ntnum[
5]={[
0...4]=3}
; /
/num ={3,
3,3,
3,3}
i
ntnum[]
={[
0...4]=3}
; /
/num ={3,
3,3,
3,3}
AccessAr
rayEl
ement
s
char
act
erar
rayi
nit
ial
i
zat
ions:
st
ati
ccharname1[]={'
J'
,'
a'
,'
n'}
; #i
ncl
ude<st
dio.
h>
st
ati
ccharname2[]={"
Jan"}
; #i
ncl
ude<coni
o.h>
st
ati
ccharname3[
4]="
Jan"
;
v
oidmai
n()
i
ntar
r[
]={
51,
32,
43,
24,
5,
26}
;
WHATARE2-
DARRAYS
Anarr
ayofarr
aysisknownas2Darr
ay.Thet
wodimensi
onal(
2D)ar
rayi
n Cpr
ogr
ammi
ng
i
sal
soknownasmat
ri
x.A
matr
ixcanberepr
esentedasat
abl
eofrowsandcol
umns.
dat
a_t
ype
arr
ay_
name[
rows]
[col
umns]
;
i
ntdi
sp[
2][
4]={ {
10,
11,
12,
13}
,{14,
15,
16,
17}
};
i
ntdi
sp[
2][
4]={10,
11,
12,
13,
14,
15,
16,
17}
;
i
ntx[
3][
4]={
{0,
1,
2,
3},
{4,
5,
6,
7},
{8,
9,
10,
11}
};
PROGRAM FOR2-
DARRAY
#i
ncl
ude<st
dio.
h>
v
oidmai
n()
i
ntar
r[
3][
3],
i
,j
;
f
or(
i=0;
i
<3;
i
++)
f
or(
j=0;
j
<3;
j
++)
pr
int
f("
Ent
era[
%d]
[%d]
:",
i
,j
);
scanf
("%d"
,&ar
r[
i]
[j
])
;
pr
ogr
amm f
orl
i
nearsear
ch
Pr
ogr
am ForAddi
ti
onOf2Mat
ri
ces
I
nput:
arr
[]={
10,
20,
80,
30,
60,
50,
110,
100,
130,
170}
sear
ch=110;
Out
put:
6 #i
ncl
ude<st
dio.
h>
El
ementsear
chi
spr
esentati
ndex6 i
ntmai
n()
{
i
ntr
,c,
a[100]
[100]
,b[
100]
[100]
,sum[
100]
[100]
,i
,j
;
I
nput:
arr
[]={
10,
20,
80,
30,
60,
50,
110,
100,
130,
170} pr
int
f("
Ent
ernumberofr
ows(
bet
ween1and100)
:")
;
sear
ch=175; scanf
("%d"
,&r
);
Out
put:
-1 pr
int
f("
Ent
ernumberofcol
umns(
bet
ween1and100)
:")
;
El
ementsear
chi
snotpr
esenti
nar
r[
]. scanf
("%d"
,&c)
;
pr
int
f("
\nEnt
erel
ement
sof1stmat
ri
x:
\n"
);
#i
ncl
ude<st
dio.
h> f
or(
i=0;
i<r
;++i
)
f
or(
j=0;
j<c;
++j
)
i
ntmai
n() {
{ pr
int
f("
Ent
erel
ementa%d%d:
",i
+1,
j
+1)
;
i
ntar
ray
[100]
,sear
ch,
i,n; scanf
("%d"
,&a[
i]
[j
])
;
pr
int
f("
Ent
ernumberofel
ement
sinar
ray
\n"
); pr
int
f("
Ent
erel
ement
sof2ndmat
ri
x:
\n"
);
scanf
("%d"
,&n)
; f
or(
i=0;
i<r
;++i
)
f
or(
j=0;
j<c;
++j
)
pr
int
f("
Ent
er%di
nteger
(s)
\n"
,n)
;
f
or(
i=0;
i<n;
i++)
scanf
("%d"
,&ar
ray
[i
])
;
pr
int
f("
Ent
eranumbert
osear
ch\
n")
;
scanf
("%d"
,&sear
ch)
;
f
or(
i=0;
i<n;
i++)
i
f(ar
ray
[i
]==sear
ch) /
*Ifr
equi
redel
ementi
sfound*
/
pr
int
f("
%di
spr
esentatl
ocat
ion%d.
\n"
,sear
ch,
i+1)
;
br
eak;
i
f(i
==n)
pr
int
f("
%di
sn'
tpr
esenti
nthear
ray
.\n"
,sear
ch)
;
r
etur
n0;
PROGRAM FORMATRI
XMULTI
PLI
CATI
ON
#i
ncl
ude<st
dio.
h>
i
ntmai
n()
i
nta[
10]
[10]
,b[
10]
[10]
,resul
t[
10]
[10]
,r1,
c1,
r2,
c2,
i,j
,k;
pr
int
f("
Ent
err
owsandcol
umnf
orf
ir
stmat
ri
x:"
);
scanf
("%d%d"
,&r
1,&c1)
;
pr
int
f("
Ent
err
owsandcol
umnf
orsecondmat
ri
x:"
);
scanf
("%d%d"
,&r
2,&c2)
;
/
/Col
umnoff
ir
stmat
ri
xshoul
dbeequal
tocol
umnofsecondmat
ri
xand
whi
l
e(c1!
=r2)
pr
int
f("
Err
or!col
umnoff
ir
stmat
ri
xnotequal
tor
owofsecond.
\n\
n")
;
pr
int
f("
Ent
err
owsandcol
umnf
orf
ir
stmat
ri
x:"
);
scanf
("%d%d"
,&r
1,&c1)
;
pr
int
f("
Ent
err
owsandcol
umnf
orsecondmat
ri
x:"
);
scanf
("%d%d"
,&r
2,&c2)
;
/
/St
ori
ngel
ement
soff
ir
stmat
ri
x.
pr
int
f("
\nEnt
erel
ement
sofmat
ri
x1:
\n"
);
f
or(
i=0;
i<r
1;++i
)
f
or(
j=0;
j<c1;
++j
)
pr
int
f("
Ent
erel
ement
sa%d%d:
",i
+1,
j+1)
;
scanf
("%d"
,&a[
i]
[j
])
;
/
/St
ori
ngel
ement
sofsecondmat
ri
x.
pr
int
f("
\nEnt
erel
ement
sofmat
ri
x2:
\n"
);
f
or(
i=0;
i<r
2;++i
)
f
or(
j=0;
j<c2;
++j
)
pr
int
f("
Ent
erel
ement
sb%d%d:
",i
+1,
j+1)
;
scanf
("%d"
,&b[
i]
[j
])
;
/
/Ini
ti
ali
zi
ngal
lel
ement
sofr
esul
tmat
ri
xto0
f
or(
i=0;
i<r
1;++i
)
f
or(
j=0;
j<c2;
++j
)
r
esul
t[
i]
[j
]=0;
}
/
/Mul
ti
ply
ingmat
ri
cesaandband
/
/st
ori
ngr
esul
tinr
esul
tmat
ri
x
f
or(
i=0;
i<r
1;++i
)
f
or(
j=0;
j<c2;
++j
)
f
or(
k=0;
k<c1;
++k)
r
esul
t[
i]
[j
]+=a[
i]
[k]
*b[
k][
j]
;
/
/Di
spl
ayi
ngt
her
esul
t
pr
int
f("
\nOut
putMat
ri
x:
\n"
);
f
or(
i=0;
i<r
1;++i
)
f
or(
j=0;
j<c2;
++j
)
pr
int
f("
%d"
,resul
t[
i]
[j
])
;
i
f(
j==c2-
1)
pr
int
f("
\n\
n")
;
r
etur
n0;
PROGRAM FORTRANSPOSEOFAMATRI
X
PROGRAM FORTRACEOFMTRI
X
Thi
sisCPr
ogr
am t
hataskusert
otr
acea
matr
ix.
#i
ncl
ude<st
dio.
h> 1. Decl
ari
ngthevari
abl
e.
2. Usi
ngloopstat
ement.
3. Di
splayr
esul
tonthescreen.
i
ntmai
n() Her
eisCsourcecodefortraci
ngaMat
ri
x.
Theout
putoft
hispr
ogram shownbel
ow.
#i
ncl
ude<st
dio.
h>
{
i
ntm,
n,c,
d,mat
ri
x[10]
[10]
,tr
anspose[
10]
[10]
;
pr
int
f("
Ent
ert
henumberofr
owsandcol
umnsofmat
ri
x\n"
);
scanf
("%d%d"
,&m,
&n)
;
pr
int
f("
Ent
erel
ement
soft
hemat
ri
x\n"
);
f
or(
c=0;
c<m;
c++)
f
or(
d=0;
d<n;
d++)
scanf
("%d"
,&mat
ri
x[c]
[d]
);
f
or(
c=0;
c<m;
c++)
f
or(d=0;
d<n;
d++)
t
ranspose[
d][
c]=mat
ri
x[c]
[d]
;
pr
int
f("
Transposeoft
hemat
ri
x:
\n"
);
f
or(
c=0;
c<n;
c++){
f
or(
d=0;
d<m;
d++)
pr
int
f("
%d\
t",
transpose[
c][
d])
;
pr
int
f("
\n"
);
r
etur
n0;