CCáác thu
n trên mảảng ng
c thuậật tot toáán trên m hai chiềềuu hai chi
n Đông Hàà NguyNguyễễn Đông H ĐH KHTN Khoa CNTT –– ĐH KHTN Khoa CNTT
i dung NNộội dung
(cid:132)(cid:132) DuyDuyệệt mt mảảng 2 chi ng 2 chiềềuu (cid:132)(cid:132) TTíính tnh tổổng sng sốố, t, tíích sch sốố (cid:132)(cid:132) ĐĐếếmm (cid:132)(cid:132) TTììm kim kiếếmm (cid:132)(cid:132) TTììm phm phầần tn tửử llớớn nhn nhấất, nh
t, nhỏỏ nhnhấấtt
DuyDuyệệt ht hếết ct cáác phc phầần tn tửử ccủủa ma mảảngng
ng a[3][5]: (cid:132)(cid:132) MMảảng a[3][5]: so_dong = 3; (cid:132)(cid:132) so_dong = 3; so_cot = 5; (cid:132)(cid:132) so_cot = 5;
1
1
2
2
5
7
5
4
2
5
7
8
9
3
8
DuyDuyệệt ht hếết ct cáác phc phầần tn tửử ccủủa ma mảảngng
for(i = 0; i < so_dong; i++)
for(j = 0; j < so_cot; j++) {
/* Xử lý phần tử a[i][j] */ ....
}
trên cùùng dòng ho
ng dòng hoặặc cc cộộtt
DuyDuyệệt ct cáác phc phầần tn tửử trên c (cid:132) Duyệt các phần tử trên dòng có chỉ số k
for(j = 0; j < so_cot; j++)
{
/* Xử lý phần tử a[k][j] */ ....
(cid:132) Duyệt các phần tử trên cột có chỉ số k
}
for(i = 0; i < so_dong; i++)
{
/* Xử lý phần tử a[i][k] */ ....
}
ng chééo co củủa ma tr
n vuông a ma trậận vuông
ĐưĐườờng ch (cid:132) Đường chéo chính
for(i = 0; i < n; i++)
{ /* Xử lý phần tử a[i][i] */
....
(cid:132) Đường chéo phụ
}
for(i = 0; i < n; i++)
{ /* Xử lý phần tử a[n-1-i][i] */
....
}
trên 1 dòng TTíính tnh tổổng cng cáác phc phầần tn tửử trên 1 dòng
(cid:132) Tính tổng các phần tử trên dòng chỉ số k
int tong = 0; for(j = 0; j < so_cot; j++)
{
tong = tong + a[k][j]
}
TTíính tnh tổổng cng cáác sc sốố chchẵẵn trên đư
n trên đườờng ch
ng chééo cho chíínhnh
(cid:132)(cid:132) TTíính tnh tổổng cng cáác sc sốố chchẵẵn trên đư
n trên đườờng ch ng chééo cho chíínhnh
int Cheo1Chan (int a[5][5]) {
int tong = 0; for(i = 0; i < 5; i++) {
if(a[i][i]%2 == 0)
tong = tong + a[i][i];
} return tong;
}
TTíính tnh tíích cch cáác sc sốố llẻẻ trên đư
trên đườờng ch
ng chééo pho phụụ
(cid:132)(cid:132) TTíính tnh tổổng cng cáác sc sốố llẻẻ trên đư
trên đườờng ch ng chééo pho phụụ
int Cheo2Phu (int a[5][5]) {
int tong = 0; for(i = 0; i < 5; i++) {
if(a[i][i]%2 == 1)
tong = tong + a[5-1-i][i];
} return tong;
}
TTíính tnh tíích cch cáác sc sốố llẻẻ trên đư
trên đườờng ch
ng chééo pho phụụ
(cid:132)(cid:132) TTíính tnh tổổng cng cáác sc sốố llẻẻ trên đư
trên đườờng ch ng chééo pho phụụ
int Cheo2Phu (int a[5][5]) {
int tong = 0; int i,j; for(i = 0; i < 5; i++) {
if(a[i][i]%2 == 1)
tong = tong + a[5-1-i][i];
} return tong;
}
ĐĐếếm cm cáác sc sốố dương trong ph
dương trong phầần tam gi
a trên n tam giáác phc phíía trên
ng chééo cho chíính nh ghi nhậận sn sốố phphầần tn tửử ththỏỏa đia điềều kiu kiệệnn
a trên đườờng ch
i >j ng chééo cho chíính lnh làà i >j
đưđườờng ch ng 1 biếến đn đếếm đm đểể ghi nh (cid:132)(cid:132) SSửử ddụụng 1 bi (cid:132)(cid:132) ĐiĐiềều kiu kiệện cn củủa ca cáác phc phầần tn tửử phphíía trên đư a[i][j] > 0 dương làà a[i][j] > 0 (cid:132)(cid:132) ĐiĐiềều kiu kiệện sn sốố dương l int TamGiacTrenDuong (int a[5][5]) {
int dem = 0; int i,j; for(i = 0; i < 5; i++)
for(j = 0; j < 5; j++) {
if(i <= j && a[i][j] > 0)
dem++;
} return dem;
}
TTììm kim kiếếm m t hiệện trong ph
m xem mộột st sốố x cx cóó xuxuấất hi
n trong phầần tam gi
n tam giáác phc phíía a
(cid:132)(cid:132) TTììm xem m trên đườờng ch trên đư
ng hay không ng chééo pho phụụ ccủủa ma mảảng hay không
#define SIZE 5 int TimTrenCheo2 (int a[SIZE][SIZE], int x) {
int i,j; for(i = 0; i < SIZE; i++)
for(j = 0; j < SIZE; j++) {
if(i+j<=SIZE-1 && a[i][j] == x)
return 1;
}
return 0;
}
TTììm phm phầần tn tửử llớớn nhn nhấất trong m (cid:132)(cid:132) DuyDuyệệt qua t
t trong mảảng ng lưu trữữ n max đểể lưu tr t biếến max đ
t qua tấất ct cảả ccáác phc phầần tn tửử, d, dùùng mng mộột bi
gigiáá trtrịị llớớn nhn nhấấtt
#define SIZE 5 int LonNhat (int a[SIZE][SIZE]) {
int i,j; int max = a[0][0]; for(i = 0; i < SIZE; i++)
for(j = 0; j < SIZE; j++) {
if(a[i][j] > max)
max = a[i][j];
} return max;
}
TTììm phm phầần tn tửử llớớn nhn nhấất trong m (cid:132)(cid:132) DuyDuyệệt qua t
t trong mảảng ng lưu trữữ n max đểể lưu tr t biếến max đ
t qua tấất ct cảả ccáác phc phầần tn tửử, d, dùùng mng mộột bi
gigiáá trtrịị llớớn nhn nhấấtt
#define SIZE 5 int LonNhat (int a[SIZE][SIZE]) {
int i,j; int max = a[0][0]; for(i = 0; i < SIZE; i++)
for(j = 0; j < SIZE; j++) {
if(a[i][j] > max)
max = a[i][j];
} return max;
}
BBàài ti tậập p
(cid:132)(cid:132) Chương
5: 6,7,8,9 Chương 5: 6,7,8,9