Giáo trình C++ - Đại Học Bách Khoa (phần 4) doc - Pdf 16

-13-
Ch
Ch
Ch
Ch
ơ
ơ
ơ
ơ
ng
ng
ng
ng
2
2
2
2
Nh
Nh
Nh
Nh




ng
ng
ng
ng
m
m

C++
C++
C++
C++
Mụcđíchchơngnày:
1.
GiớithiệunhữngđiểmkhácbiệtchủyếugiữaCvàC++
2.
CácđiểmmớicủaC++sovớiC(nhữngvấnđềcơbảnnhất)
1.
1.
1.
1.
C
C
C
C
á
á
á
á
c
c
c
c
đ
đ
đ
đ
i

ơ
ng
ng
ng
ng
th
th
th
th
í
í
í
í
ch
ch
ch
ch
gi
gi
gi
gi




a
a
a
a
C++

nh
ngh
ngh
ngh
ngh
ĩ
ĩ
ĩ
ĩ
a
a
a
a
h
h
h
h
à
à
à
à
m
m
m
m
Trongđịnhnghĩahàm,ANSICchophéphaikiểukhaibáodòngtiêuđềcủa
hàm,trongkhiđóC++chỉchấpnhậnmộtcách:
1.2
1.2
1.2

nguy
nguy
nguy
ê
ê
ê
ê
n
n
n
n
m
m
m
m




u
u
u
u
TrongANSIC,khisửdụngmộthàmchađợcđịnhnghĩatrớcđótrong
cùngmộttệp,tacóthể:
3.
khôngcầnkhaibáo(khiđóngầmđịnhgiátrịtrảvềcủahàmlàint)
4.
chỉcầnkhaibáotênhàmvàgiátrịtrảvề,khôngcầndanhsáchkiểucủa
cácthamsố.

double
double
V
V
V
V
í
í
í
í
d
d
d
d




2.1
2.1
2.1
2.1
doublefexple(int,double)
/*khaibáohàmfexple*/

/*cảCvàC++chophép*/
double
fexple(intu,double
v)
int

i
kiểu,từchar(c)thànhint*/
res3
=
fexple(z,n);
/*cóchuyểnđổ
i
kiểu,từdouble(z)thànhintvà
t
ừint(n)
thànhdouble*/

}
TrongC++bắtbuộcphảicótừkhoávoid
void
void
void
trớctêncủahàmtrongphầnkhai
báođểchỉrằnghàmkhôngtrảvềgiátrị.Trờnghợpkhôngcó,trìnhbiêndịch
ngầmhiểukiểucủagiátrịtrảvềlàint
int
int
int
vànhthếtrongthânhàmbắtbuộcphảicó
câulệnhreturn
return
return
return
.Điềunàyhoàntoànkhôngcầnthiếtđốivớimôtảtrongngônngữ
C.

th
í
í
í
í
ch
ch
ch
ch
gi
gi
gi
gi




a
a
a
a
con
con
con
con
tr
tr
tr
tr


con
tr
tr
tr
tr




kh
kh
kh
kh
á
á
á
á
c
c
c
c
TrongANSIC,kiểuvoid
void
void
void
*
*
*
*
tơngthíchvớicáckiểutrỏkháccảhaichiều.

đốivớicâulệnhthứhai.
CácmởrộngcủaC++
-15-
TrongC++,chỉcóchuyểnđổikiểungầmđịnhtừmộtkiểutrỏtuỳýthành
void*
void*
void*
void*
làchấpnhậnđợc,cònmuốnchuyểnđổingợclại,taphảithựchiệnchuyển
kiểutờngminhnhcáchviếtsauđây:
gen
=
adj;
adj
=
(int*)gen;
2.
2.
2.
2.
C
C
C
C
á
á
á
á
c
c

o/ra
o/ra
o/ra
o/ra
m
m
m
m




i
i
i
i
c
c
c
c




a
a
a
a
C++
C++

làbànphím.
2.1
2.1
2.1
2.1
Ghi
Ghi
Ghi
Ghi
d
d
d
d




li
li
li
li




u
u
u
u
l


ra
ra
ra
ra
chu
chu
chu
chu




n
n
n
n
(m
(m
(m
(m
à
à
à
à
n
n
n
n
h

d
d
d




2.2
2.2
2.2
2.2
Chơngtrìnhsauminhhoạcáchsửdụngcout
cout
cout
cout
đểđaramànhìnhmộtxâuký
tự.
#include
<iostream.h>
/*phảikhaibáokhimuốnsửdụngcout*/
main()
{
cout
<<
"Welcome
C++";
}
WelcomeC++

<<



2.3
2.3
2.3
2.3
Sửdụngcout
cout
cout
cout
và<<đaracácgiátrịkhácnhau:
#include
<iostream.h>
/*phảikhaibáokhimuốnsửdụngcout*/
voidmain()
{
int
n=
25;
cout
<<
"Value
:
";
cout
<<n;
}
Value:25
Trongvídụnàychúngtađãsửdụngtoántử<<đểinramànhìnhđầutiênlà
mộtxâukýtự,sauđólàmộtsốnguyên.Chứcnăngcủatoántử

lệnhphứctạphơn,tuykếtquảkhôngkháctrớc:
#include
<iostream.h>
/*phảikhaibáokhimuốnsửdụngcout*/
voidmain()
{
int
n=
25;
cout
<<
"Value
:"
<<n;
}
Value:25
2.2
2.2
2.2
2.2
C
C
C
C
á
á
á
á
c
c

t
t
t
t
ra
ra
ra
ra
tr
tr
tr
tr
ê
ê
ê
ê
n
n
n
n
cout
cout
cout
cout
.
.
.
.
Chúngtavừaxemxétmộtvàivídụviếtmộtxâukýtự,mộtsốnguyên.Một
cáchtổngquát,chúngtacóthểsửdụngtoántử<<cùngvớicout

*
),
10.
contrỏ(trừcontrỏchar
char
char
char
*)
CácmởrộngcủaC++
-17-
Trongtrờnghợpmuốnđarađịachỉbiếnxâukýtựphảithựchiệnphép
chuyểnkiểutờngminh,chẳnghạn
(
char
char
char
char
*)
>
(
void
void
void
void
*)
.
Xétvídụsauđây:
V
V
V

c=
'a';
float
x=
12.3456789;
double
y=
12.3456789e16;
char
*
ch
=
"Welcome
C++";
int*ad
=
&n;
cout
<<"Value
of
n:"
<<
n
<<"\n";
cout
<<"Value
of
p:"
<<
p

<<"Value
ofch
:"
<<ch
<<"\n";
cout
<<"Addrese
of
n:"
<<ad
<<"\n";
cout
<<"Addrese
dech
:"
<<
(void*)ch<<"\n";
}
Valueofn:25
Valueofp:250000
Valueofc:a
Valueofq:63000
Valueofx:12.345679
Valueofy:1.234567e+17
Valueofch:WelcomeC++
Addreseofn:0xfff2
Addresedech:0x00b2
CácmởrộngcủaC++
-18-
2.3

u
t
t
t
t




thi
thi
thi
thi
ế
ế
ế
ế
t
t
t
t
b
b
b
b




v

à
n
n
n
n
ph
ph
ph
ph
í
í
í
í
m
m
m
m
)
)
)
)
cin
cin
cin
cin
Nếunhcout
cout
cout
cout
dùngđểchỉthiếtbịrachuẩn,thìcin

Chẳnghạn:
int
n;
float
p;
char
c;
cin
>>
c
>>
n
>>p;
Cóthểsửdụngtoántử
>>
đểnhậpdữliệuchocácbiếncókiểu
char
char
char
char
,int
int
int
int
,
float
float
float
float
,double

lệnhnhậpxâukýtựhoặckýtựngaysaucáclệnhnhậpcácgiátrịkhác.
Giảiphápkhắcphụcvấnđềnàyđểđảmbảocôngviệcdiễnrađúngtheoý
làtrớcmỗilầngọilệnhnhậpdữliệuchoxâu/kýtựtasửdụngmộttrong
haichỉthịsauđây:
fflush(stdin);
//khaibáotrong
stdio.h
cin.clear();
//hàmthànhphầncủa
l
ớpđịnhnghĩađố
i
tợng
cin
CácmởrộngcủaC++
-19-
Tathamkhảochơngtrìnhsau:
V
V
V
V
í
í
í
í
d
d
d
d


>>n>>t>>x;
cout
<<
"Danhap
"<<n<<
","
<<t<<
"
va"<<x<<
"\n";
}
while(n);
}
Nhapvaomotsonguyen,motxau,motsothuc:3long3.4
Danhap3,longva3.4
Nhapvaomotsonguyen,motxau,motsothuc:5hung5.6
Danhap5,hungand5.6
Nhapvaomotsonguyen,motxau,motsothuc:04
3
Danhap0,4va3
3.
3.
3.
3.
Nh
Nh
Nh
Nh



ng
ng
ng
ng




i
i
i
i
l
l
l
l




p
p
p
p
tr
tr
tr
tr
ì
ì

cu
cu
cu
cu




i
i
i
i
d
d
d
d
ò
ò
ò
ò
ng
ng
ng
ng
Mọikýhiệuđisau//chođếnhếtdòngđợccoilàchúthích,đợcchơng
trìnhdịchbỏquakhibiêndịchchơngtrình.
Xétvídụsau:
cout
<<
"Xin

m
m
m




i
i
i
i
n
n
n
n
ơ
ơ
ơ
ơ
i
i
i
i
TrongC++khôngnhấtthiếtphảinhómlênđầucáckhaibáođặtbêntrongmột
hàmhaymộtkhốilệnh,màcóthểđặtxenkẽvớicáclệnhxửlý.Vídụ.
{
int
n;
n=23;
cout

á
á
á
n
n
n
n
t
t
t
t




ph
ph
ph
ph




m
m
m
m
vi
vi
vi

::
trớctênbiến:
#include
<iostream.h>
int
x;
main()
{
int
x=
10;
//xcụcbộ
::x
=
10;
//xtoàncục
cout<<x<<

\n
;
//xcụcbộ
cout<<::x<<

\n
;
//xtoàncục
}
4.
4.
4.

inline
inline
inline
đợcđịnhnghĩavàđợcsửdụnggiốngnhbìnhthờng.
Điểmkhácnhauduynhấtlàphảiđặtmôtảinline
inline
inline
inline
trớckhaibáohàm.
Xétvídụsauđây:
V
V
V
V
í
í
í
í
d
d
d
d




2.7
2.7
2.7
2.7

}
/*Địnhnghĩahàminline*/
inlinedoublenorme(doublevec[3])
{
int
i;double
s=0;
for(i=0;i<3;i++)
s+=vec[i]*vec[i];
return(sqrt(s));
}
normecuav1:2.236068-normecuav2:3.316625
Hàm
norme()
nhằmmụcđíchtínhchuẩncủa
vector
vớibathànhphần.
Từkhoáinline
inline
inline
inline
yêucầuchơngtrìnhbiêndịchxửlýhàmnormekhácvớicác
hàmthôngthờng.Cụthểlà,mỗilầngọi
norme()
,trìnhbiêndịchghéptrựctiếp
cácchỉthịtơngứngcủahàmvàotrongchơngtrình(ởdạngngônngữmáy).Do
đócơchếquảnlýlờigọivàtrởvềkhôngcầnnữa(khôngcầnlungữcảnh,sao
chépcácthôngsố ),nhờvậytiếtkiệmthờigianthựchiện.Bêncạnhđócácchỉthị
tơngứngsẽđợcsinhramỗikhigọihàmdođóchiphílutrữtănglênkhihàm
đợcgọinhiềulần.

square(x){x++*x++}
Vớilờigọi
square(a)
với
a
làbiếnsẽsảnsinhrabiểuthức
a++*a++
vàkếtquảlàlàmthayđổigiátrị
củabiếnatớihailần.
Cònlờigọi
CácmởrộngcủaC++
-23-
square(3)
sẽgâylỗibiêndịchvìtakhôngthểthựchiệncácphéptoántănggiảmtrêncác
toánhạnglàhằngsố.
Việcsửdụnghàminline
inline
inline
inline
nhmộtgiảiphápthaythếsẽtránhđợccáctình
huốngnhthế.
Ngoàira,cáchàminline
inline
inline
inline
cóthểđợctốiubởichơngtrìnhbiêndịch.
Điềuquantrọnglàđặctảinline
inline
inline
inline

Tham
Tham
chi
chi
chi
chi
ế
ế
ế
ế
u
u
u
u
NgônngữC++giớithiệumộtkháiniệmmớireferencetạmdịchlàtham
chiếu.Vềbảnchất,thamchiếulàbídanhcủamộtvùngnhớđợccấpphátcho
mộtbiếnnàođó.
Mộtthamchiếucóthểlàmộtbiến,thamsốhìnhthứccủahàmhaydùnglàm
giátrịtrảvềcủamộthàm.Cácphầntiếpsaulầnlợtgiớithiệucáckhảnăngcủa
thamchiếuđợcsửdụngtrongchơngtrìnhviếtbằngngônngữC++.
5.1
5.1
5.1
5.1
Tham
Tham
Tham
Tham
chi
chi

t
t
t
t
bi
bi
bi
bi
ế
ế
ế
ế
n
n
n
n
Xéthaichỉthị:
int
n;
int
&p=n;
Trongchỉthịthứhai,dấu

&

đểxácđịnhplàmộtbiếnthamchiếucòndấu

=

vàtênbiến

V
V
í
í
í
í
d
d
d
d




2.8
2.8
2.8
2.8
int
n=3,m=4;
int*p;
p=&n;
//pch

đếnn
*p=4;
//gángiátrịcủamchonthôngquacontrỏp

p=&m;
//chopchỉđếnm


2.9
2.9
2.9
2.9
Chơngtrìnhsai
#include
<iostream.h>
voidmain()
{
intx=3,&y;
//lỗiv
ì
yphảiđợckhởi
t
ạo
CácmởrộngcủaC++
-25-
cout<<"
x=
"<<x<<"\n"
<<"
y=
"<<y<<"\n";
y=
7;
cout<<"
x=
"<<x<<"\n"
<<"

}
x=3
y=3
x=7
y=7
Luýcuốicùnglàkhôngthểgắnmộtthamchiếuvớimộthằngsốtrừtrờng
hợpcótừkhoáconstđứngtrớckhaibáothamchiếu.Dễdàngkiểmtracácnhận
xétsau:
int
&p
=3;
//khônghợp
l

constint
&p
=3;
//hợplệ
5.2
5.2
5.2
5.2
Truy
Truy
Truy
Truy





m
m
b
b
b
b




ng
ng
ng
ng
tham
tham
tham
tham
chi
chi
chi
chi
ế
ế
ế
ế
u
u
u
u

swap.cpp
swap.cpp
*/
#include<conio.h>
#include<iostream.h>
/*Hàmswap1đợcgọivớicácthamsốđợctruyềntheothamtr

*/
void
swap1(int
x,
int
y){
inttemp
=x;
x=y;
y=
temp;
}
/*Hàmswap2thựchiệnviệctruyềnthamsốbằngthamtrỏ*/
void
swap2(int
*x,int*y)
{
inttemp
=
*x;
*x=
*y;
*y=

=
"<<a<<"
b=
"<<b<<"\n";
CácmởrộngcủaC++
-27-
a=3;
b
=4;
cout
<<"Truoc
khigoi
swap2:\n";
cout<<"a
=
"<<a<<"
b=
"<<b<<"\n";
swap2(&a,&b);
cout<<"Saukhigoi
swap2:\n";
cout<<"a
=
"<<a<<"
b=
"<<b<<"\n";
a=3;b=4;
cout
<<"Truoc
khigoi

chohàm
swap1()
theothamtrị
chonêngiátrịcủachúngkhôngthayđổitrớcvàsaukhigọihàm.
Giảiphápđaratronghàm
swap2()
làthayvìtruyềntrựctiếpgiátrịhaibiến
avàbngờitatruyềnđịachỉcủachúngrồithôngquacácđịachỉnàyđểxácđịnh
giátrịbiến.Bằngcáchđógiátrịcủahaibiếnavàbsẽhoánđổichonhausaulời
gọihàm.Khácvới
swap2()
,hàm
swap3()
đaragiảiphápsửdụngthamchiếu.
Cácthamsốhìnhthứccủahàmswap3()bâygiờlàcácthamchiếuđếncáctham
sốthựcđợctruyềnchohàm.Nhờvậymàgiátrịcủahaithamsốthựcavàbcóthể
hoánđổiđợcchonhau.
CácmởrộngcủaC++
-28-
Cómộtvấnđềmàchắcrằngbạnđọcsẽphânvân:làmthếnàođểkhởitạo
cácthamsốhìnhthứclàthamchiếu.Xintharằngđiềuđóđợcthựchiệntựđộng
trongmỗilờigọihàmchứkhôngphảitrongđịnhnghĩa.Từđónảysinhthêmmột
nhậnxétquantrọng:thamsốứngvớithamsốhìnhthứclàthamchiếuphảilàbiến
trừtrờnghợpcótừkhoáconstđứngtrớckhaibáothamsốhìnhthức.Chẳnghạn
khôngthểthựchiệnlờigọihàmsau:
swap3(2,3);
BạnđọccóthểxemthêmphầnHàmthiếtlậpsaochéplạiđểthấyđợcích
lợitolớncủaviệctruyềnthamsốchohàmbằngthamchiếu.
Ch
Ch

tr
tr
tr
tr




tr
tr
tr
tr




v
v
v
v




c
c
c
c



chi
chi
chi
chi
ế
ế
ế
ế
u
u
u
u
Địnhnghĩacủahàmcódạngnhsau:
<type>
&
fct( )
{

return<bien
co
pham
vi
toancuc>;
}
Trongtrờnghợpnàybiểuthứcđợctrảlạitrongcâulệnhreturn
return
return
return
phảilàtên
củamộtbiếnxácđịnhtừbênngoàihàm,bởivìchỉkhiđómớicóthểsửdụngđợc

/*fr.cpp*/
/*fr.cpp*/
/*fr.cpp*/
#include<iostream.h>
#include<conio.h>
inta[5];
CácmởrộngcủaC++
-29-
int
&fr(int
*d,inti);
voidmain()
{
clrscr();
cout<<"Nhap
giatrichomanga:\n";
for(inti=0;i<5;i++)
{
cout<<"a["<<i<<"]=
";
cin>>fr(a,i);
}
cout<<"Mang
a
saukhi
nhap\n";
for(i=0;i<5;i++)
cout<<a[i]<<"
";
cout<<"\n";

ngh
ngh
ngh
ngh
ĩ
ĩ
ĩ
ĩ
a
a
a
a
ch
ch
ch
ch




ng
ng
ng
ng
h
h
h
h
à
à

13.haikýtự
14.
basốnguyên
15.
mộtdãycácsốnguyên
Dĩnhiêncóthểtìmchomỗihàmnhvậymộttênphân.Lợidụngkhảnăng
địnhnghĩachồnghàmcủaC++,chúngtacóthểviếtcáchàmnhsau:
V
V
V
V
í
í
í
í
d
d
d
d




2.12
2.12
2.12
2.12
#include
<iostream.h>
//Hàmnguyênmẫu

-1.2;
char
c=A,
d=
Q;
inttd[7]
=
{1,3,4,-2,0,23,9};
cout<<

min(n,p)
:
<<min(n,p)<<

\m
;
//Hàm1
cout<<

min(n,p,q)
:
<<min(n,p,q)<<

\m
;
//Hàm4
cout<<

min(c,d)
:

;
//Hàm2
//cout<<

min(n,p,x):

<<min(n,p,x)<<

\m

;//Lỗi
}
intmin(int
a,
int
b)
{
return(a>
b?a:
b);
}
intmin(int
a,
int
b,
int
c)
{
CácmởrộngcủaC++
-31-

for(inti=1;i<n;i++)
res
=
min(res,t[i]);
returnres;
}
Nh
Nh
Nh
Nh




n
n
n
n
x
x
x
x
é
é
é
é
t
t
t
t

float
float
float
float
>
int.
int.
int.
int.
c)
CácchuyểnđổikiểuchuẩnđợcCvàC++chấpnhận.
d)Cácchuyểnđổikiểudongờisửdụngđịnhnghĩa.
Quátrìnhtìmkiếmbắtđầutừmứccaonhấtvàdừnglạiởmứcđầutiêncho
phéptìmthấysựphùhợp.Nếucónhiềuhàmphùhợpởcùngmộtmức,chơng
trìnhdịchđarathôngbáolỗidokhôngbiếtchọnhàmnàogiữacáchàmphùhợp.
CácmởrộngcủaC++
-32-
Trờnghợpcáchàmcónhiềuthamsố
ýtởngchunglàphảitìmmộthàmphùhợpnhấtsovớitấtcảnhữnghàmcòn
lại.Đểđạtmụcđíchnày,chơngtrìnhdịchchọnchomỗithamsốcáchàmphùhợp
(ởtấtcảcácmứcđộ).Trongsốcáchàmđợclựachọn,chơngtrìnhdịchchọnra
(nếutồntạivàtồntạiduynhất)hàmsaochođốivớimỗiđốisốnóđạtđợcsựphù
hợphơncảsovớicáchàmkhác.
Trongtrờnghợpvẫncónhiềuhàmthoảmãn,lỗibiêndịchxảyradochơng
trìnhdịchkhôngbiếtchọnhàmnàotrongsốcáchàmthỏamãn.Đặcbiệtluýkhi
sửdụngđịnhnghĩachồnghàmcùngvớiviệckhaibáocáchàmvớithamsốcógiá
trịngầmđịnhsẽđợctrìnhbàytrongmụctiếptheo.
7.
7.
7.

nh
nh
nh
trong
trong
trong
trong
l
l
l
l




i
i
i
i
g
g
g
g




i
i
i

2.13
2.13
2.13
2.13
#include
<iostream.h>
voidmain()
{
int
n=10,p=20;
void
fct(int,
int
=
12)
;
//khaibáohàmvớimộtgiátrịngầmđịnh
fct(n,p);
//lờigọithôngthờng,cóhaithamsố
fct(n);
//lờigọichỉvớ
i
mộtthamsố
//fct()sẽkhôngđợcchấpnhận
}
//khaibáobìnhthờng
voidfct(int
a,
int
b)

thamsốhìnhthứctơngứngsẽđợcgángiátrịngầmđịnh12.
Lờigọi
fct();
khôngđợcchấpnhậnbởivìkhôngcógiátrịngầmđịnhchothamsốthứnhất.
V
V
V
V
í
í
í
í
d
d
d
d




2.14
2.14
2.14
2.14
#include
<iostream.h>
voidmain(){
int
n=10,p=20;
void

<<a<<"\n";
cout<<"tham
so
thuhai
:
"<<b<<"\n";
}
thamsothunhat:10
thamsothuhai:20
thamsothunhat:10
thamsothuhai:12
thamsothunhat:0
thamsothuhai:12
Ch
Ch
Ch
Ch
ú
ú
ú
ú
ý
ý
ý
ý
18.Cácthamsốvớigiátrịngầmđịnhphảiđợcđặtởcuốitrongdanhsáchcác
thamsốcủahàmđểtránhnhầmlẫncácgiátrị.
19.
Cácgiátrịngầmđịnhcủathamsốđợckhaibáokhisửdụngchứkhông
phảitrongphầnđịnhnghĩahàm.Vídụsauđâygâyralỗibiêndịch:

n=10,p=20;
voidfct(int=0,int=12);
cout<<"Goi
fcttrong
main\n";
fct(n,p);
fct(n);
fct();
getch();
}
voidfct(int
a=10,int
b=100)
{
cout<<"Tham
so
thunhat
:
"<<a<<"\n";
cout<<"Tham
so
thuhai
:
"<<b<<"\n";
}
20.
Nếumuốnkhaibáogiátrịngầmđịnhchomộtthamsốbiếntrỏ,thìphải
chúýviết*và=cáchxanhauítnhấtmộtdấucách.
21.
Cácgiátrịngầmđịnhcóthểlàmộtbiểuthứcbấtkỳ(khôngnhấtthiếtchỉ

2.16
2.16
#include
<iostream.h>
void
fct(int,int=10);
void
fct(int);
voidmain()
{
CácmởrộngcủaC++
-35-
intn=10,p=20;
fct(n,p);
//OK
fct(n);
//ERROR
}
8.
8.
8.
8.
B
B
B
B





to
to
á
á
á
á
n
n
n
n
t
t
t
t




qu
qu
qu
qu




n
n
n
n

ng:
ng:
new
new
new
new
v
v
v
v
à
à
à
à
delete
delete
delete
delete
8.1
8.1
8.1
8.1
To
To
To
To
á
á
á
á

á
á
t
t
t
t
b
b
b
b




nh
nh
nh
nh




độ
độ
độ
độ
ng
ng
ng
ng

Dạng1
newtype;
giátrịtrảvềlà
(i)
mộtcontrỏđếnvịtrítơngứngkhicấpphátthànhcông
(ii)NULLtrongtrờnghợptráilại.
CácmởrộngcủaC++
-36-
Dạng2
new
type[n];
trongđónlàmộtbiểuthứcnguyênkhôngâmnàođó,khiđótoántửnew
new
new
new
xin
cấpphátvùngnhớđủđểchứanthànhphầnkiểu
type
vàtrảlạicontrỏđếnđầu
vùngnhớđónếunhcấpphátthànhcông.
8.2
8.2
8.2
8.2
To
To
To
To
á
á

ó
ó
ó
ó
ng
ng
ng
ng
v
v
v
v
ù
ù
ù
ù
ng
ng
ng
ng
nh
nh
nh
nh




độ
độ

í
d
d
d
d




2.17
2.17
2.17
2.17
Cấpphátbộnhớđộngchomảnghaichiều
#include<iostream.h>
void
Nhap(int
**mat);
//nhậpmatrậnhaichiều
voidIn(int**mat);
//Inmatrậnhaichiều
voidmain()
{
int**mat;
int
i;
/*cấpphá
t
mảng10contrỏnguyên*/
mat

inti,j;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
cout<<"Thanhphanthu
["<<i<<"]["<<j<<"]=
";
cin>>mat[i][j];
}
}
voidIn(int
**
mat)
{
inti,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
cout<<mat[i][j]<<"
";
cout<<"\n";
}
}
V
V
V
V
Ý
Ý
Ý


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status