CHƯƠNG 4CHƯƠNG 4
ẢẢ
M
Ả
NGM
Ả
NG
(Array)(Array)
(Array)(Array)
1. Khái niệm1. Khái niệm
1.
Khái
niệm1.
Khái
niệm
y Mảng là mộttậphợp các biến có cùng kiểu
d
ữ
liệunằmliêntiếp nhau tron
g
bộ nhớ và
được tham chiếubởimột tên chung chính là
tên
mảng
tên
mảng
.
hầ
ử
dù
ê
y Đ
ể
t
h
am c
h
i
ế
u
đế
nm
ộ
tp
hầ
nt
ử
ta
dù
n
g
t
ê
n
mảng và chỉ mụccủaphầntửđược đặttrong
cặp
dấu
xác định
trước
và
không
đổi
trong
suốt
quá
trình
thực
trước
và
không
đổi
trong
suốt
quá
trình
thực
hiệnchương trình.
2. Mảng mộtchiều2. Mảng mộtchiều
2.
Mảng
một
chiều2.
Mảng
ụ []
a
a[0] a[1] a[2] a[3] a[4]
2. Mảng mộtchiều2. Mảng mộtchiều
2.
Mảng
một
chiều2.
Mảng
một
chiều
y Mảng phải được khai báo tường minh
y Kích thước (tính bằng byte) của mảng được
tính theo công thức:
Total_size = sizeof(type) * elements
Ví dụ:
int num[100];
Mảng num có kích thước là:
2bytes * 100 = 200bytes (giả sử int chiếm 2
bytes)
2. Mảng mộtchiều2. Mảng mộtchiều
2.
Mảng
[] g
num[2] = num[0] + num[1]; //num[2] có giá trị 7
cout << num
[
1
];
//
In ra
g
iá tr
ị
5
[];//
g
ị
2. Mảng mộtchiều2. Mảng mộtchiều
2.
Mảng
một
chiều2.
Mảng
một
chiều
th
ư
ớ
c m
ả
n
g
.
− Số lượng phầntử trong mảng là số các giá
ấ
ặ
ấ
ặ
trịđượccun
g
c
ấ
ptron
g
c
ặ
pd
ấ
un
g
o
ặ
c {},
được phân cách nhau bởidấuphẩy.
có
g
iá tr
ị
là 4
[] g ị
soChan
[4] có giá trị là 10
soChan
[4]
có
giá
trị
là
10
2. Mảng mộtchiều2. Mảng mộtchiều
2.
Mảng
một
chiều2.
ra
màn
hình
.
#include <iostream.h>
#include <conio.h>
#define N 10
#define
N
10
void main()
{
int a[N];
int
a[N];
for(int i=0 ; i < N ; i++)
a[i] = i ;
t"I
\
"
cou
t
<<
"I
n mang:
tăng
dần
#include <iostream.h>
#define n 5
#define n 5
main ( )
{
int a [ n ] ; int i j t ;
int a [ n ] ; int i
,
j
,
t ;
for ( i = 0 ; i < n ; i ++)//
nh
ậ
p m
ả
ng
{ cout<<“a [“<<i<<“] = “; cin>>a[i]; cout<<endl; }
ắ
ế
for ( i = 0 ; i < n - 1 ; i ++)//
s
ắ
p
x
cout<<“n=”; cin>>n;
do
0
2
2
5
23
11
1
1
2
2
n%2
{
np[j]= n%2;
j++;
1
2
1
2
1
0
2
0
n = n/2;
}while(n>0);
cout<<“dang nhi phan: ”;
np
0 1 1 1 0 1
for(i=j-1 ; i>0 ; i )
y C++ cung cấp hàm random để tạo ra các số
ẫ
n
gẫ
u nhiên.
y Cú pháp:
int random(int n)
y Kết quả của hàm là tạo ra các số nguyên ngẫu
nhiên từ 0 đến n-1
y Khi sử dụng random ta phải gọi
randomize
ể ẫ
đ
ể
khởi tạo chế độ tạo số n
gẫ
u nhiên.
y Để sử dụng các hàm trên thì trong chương
ìh hảikh ibá h iệ
dlib h
tr
ì
n
h
p
hải
kh
a
i
u nhiên và in ra màn hình.
ụ ạ ggụ ạ gg
#include <iostream.h>
#include <conio h>
#include
<conio
.
h>
#include <iomanip.h>
#include <stdlib.h>
void main()
{
randomize();
randomize();
cout <<"Tao mang ngẫu nhiên :\n";
for (int i=0; i<n; i++)
a[i] random(100);
a[i]
=
random(100);
for(int j=0; j<n; j++)
cout <<setw(3)<<a[j];
}
3. Mảng nhiềuchiều3. Mảng nhiềuchiều
3.
Mảng
nhiều
ai c
h
i
ề
ut
h
ựcc
hấ
t
là
m
ả
n
g
c
ủ
an
hữ
n
g
mảng mộtchiều. Ta có thể xem mảng hai
chiều
là
một
ma
trận
gồm
các
hàng
và
:số hàng
−
rows
:
số
hàng
−
columns
: số cột
Ví dụ: Khai báo mảng số nguyên 3 hàng 4 cột
Ví
dụ:
Khai
báo
mảng
số
nguyên
3
hàng
nhiều
chiều3.
Mảng
nhiều
chiều
y Số phầntử củamỗihàngphảibằng số cột
y Số hàng củakhaibáomảng hai chiều để
t
r
ố
n
g
.
t ố g
y Số hàng củamảng đượcxácđịnh dựavàosố
hàng
trong
phần
khởi
tạo
Giá
trị
các
phần
tử
int a[][4] = {{1234} {5678}{9101112}};
int
a[][4]
=
{{1
,
2
,
3
,
4}
,
{5
,
6
,
7
,
8}
,
{9
,
10
,
11
,
12}};
;
i<4
;
i++)
{
for(int j=0 ; j<3 ; j++)
cout << a[i][j] << " ";
cout << endl;
}
}
#include <iostream.h>
#include <conio.h>
void main()
{
{
int a[][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},
{
13
,
14
,
15
,
16
}};
<< sum;
cout
<<
Tong
duong
cheo
chinh
la:
<<
sum;
}