Bài giảng Các thuật toán trên mảng hai chiều - Nguyễn Đông Hà

pdf 16 trang ngocly 3850
Bạn đang xem tài liệu "Bài giảng Các thuật toán trên mảng hai chiều - Nguyễn Đông Hà", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_cac_thuat_toan_tren_mang_hai_chieu_nguyen_dong_ha.pdf

Nội dung text: Bài giảng Các thuật toán trên mảng hai chiều - Nguyễn Đông Hà

  1. CCáácc thuthuậậtt totoáánn trêntrên mmảảngng haihai chichiềềuu NguyNguyễễnn ĐĐôngông HHàà KhoaKhoa CNTTCNTT –– ĐĐHH KHTNKHTN Sưu tầm b ởi: www.daihoc.com.vn
  2. NNộộii dungdung „ DuyDuyệệtt mmảảngng 22 chichiềềuu „ TTíínhnh ttổổngng ssốố,, ttííchch ssốố „ ĐĐếếmm „ TTììmm kikiếếmm „ TTììmm phphầầnn ttửử llớớnn nhnhấất,t, nhnhỏỏ nhnhấấtt Sưu tầm b ởi: www.daihoc.com.vn
  3. DuyDuyệệtt hhếếtt ccáácc phphầầnn ttửử ccủủaa mmảảngng „ MMảảngng a[3][5]:a[3][5]: „ so_dongso_dong == 3;3; „ so_cotso_cot == 5;5; 1 1 2 2 5 7 5 4 2 5 7 8 9 3 8 Sưu tầm b ởi: www.daihoc.com.vn
  4. DuyDuyệệtt hhếếtt ccáácc phphầầnn ttửử ccủủaa mmảảngng for(i = 0; i < so_dong; i++) for(j = 0; j < so_cot; j++) { /* Xử lý phần tử a[i][j] */ } Sưu tầm b ởi: www.daihoc.com.vn
  5. DuyDuyệệtt ccáácc phphầầnn ttửử trêntrên ccùùngng dòngdòng hohoặặcc ccộộtt „ 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] */ } „ 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] */ } Sưu tầm b ởi: www.daihoc.com.vn
  6. ĐưĐườờngng chchééoo ccủủaa mama trtrậậnn vuôngvuông „ Đường chéo chính for(i = 0; i < n; i++) { /* Xử lý phần tử a[i][i] */ } „ Đường chéo phụ for(i = 0; i < n; i++) { /* Xử lý phần tử a[n-1-i][i] */ } Sưu tầm b ởi: www.daihoc.com.vn
  7. TTíínhnh ttổổngng ccáácc phphầầnn ttửử trêntrên 11 dòngdòng „ 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] } Sưu tầm b ởi: www.daihoc.com.vn
  8. TTíínhnh ttổổngng ccáácc ssốố chchẵẵnn trêntrên đưđườờngng chchééoo chchíínhnh „ TTíínhnh ttổổngng ccáácc ssốố chchẵẵnn trêntrên đưđườờngng chchééoo chchíí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; } Sưu tầm b ởi: www.daihoc.com.vn
  9. TTíínhnh ttííchch ccáácc ssốố llẻẻ trêntrên đưđườờngng chchééoo phphụụ „ TTíínhnh ttổổngng ccáácc ssốố llẻẻ trêntrên đưđườờngng chchééoo phphụụ 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; } Sưu tầm b ởi: www.daihoc.com.vn
  10. TTíínhnh ttííchch ccáácc ssốố llẻẻ trêntrên đưđườờngng chchééoo phphụụ „ TTíínhnh ttổổngng ccáácc ssốố llẻẻ trêntrên đưđườờngng chchééoo phphụụ 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; } Sưu tầm b ởi: www.daihoc.com.vn
  11. ĐĐếếmm ccáácc ssốố ddươươ ngng trongtrong phphầầnn tamtam gigiáácc phphííaa trêntrên đưđườờngng chchééoo chchíínhnh „ SSửử ddụụngng 11 bibiếếnn đđếếmm đđểể ghighi nhnhậậnn ssốố phphầầnn ttửử ththỏỏaa đđiiềềuu kikiệệnn „ ĐĐiiềềuu kikiệệnn ccủủaa ccáácc phphầầnn ttửử phphííaa trêntrên đưđườờngng chchééoo chchíínhnh llàà ii >j>j „ ĐĐiiềềuu kikiệệnn ssốố ddươươngng llàà a[i][j]a[i][j] >> 00 int TamGiacTrenDuong (int a[5][5]) { int dem = 0; int i,j; for(i = 0; i 0) dem++; } return dem; } Sưu tầm b ởi: www.daihoc.com.vn
  12. TTììmm kikiếếmm „ TTììmm xemxem mmộộtt ssốố xx ccóó xuxuấấtt hihiệệnn trongtrong phphầầnn tamtam gigiáácc phphííaa trêntrên đưđườờngng chchééoo phphụụ ccủủaa mmảảngng hayhay khôngkhô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; } Sưu tầm b ởi: www.daihoc.com.vn
  13. TTììmm phphầầnn ttửử llớớnn nhnhấấtt trongtrong mmảảngng „ DuyDuyệệtt quaqua ttấấtt ccảả ccáácc phphầầnn ttửử,, ddùùngng mmộộtt bibiếếnn maxmax đđểể llưưuu trtrữữ gigiáá trtrịị llớớnn nhnhấấtt #define SIZE 5 int LonNhat (int a[SIZE][SIZE]) { int i,j; int max = a[0][0]; for(i = 0; i max) max = a[i][j]; } return max; } Sưu tầm b ởi: www.daihoc.com.vn
  14. TTììmm phphầầnn ttửử llớớnn nhnhấấtt trongtrong mmảảngng „ DuyDuyệệtt quaqua ttấấtt ccảả ccáácc phphầầnn ttửử,, ddùùngng mmộộtt bibiếếnn maxmax đđểể llưưuu trtrữữ gigiáá trtrịị llớớnn nhnhấấtt #define SIZE 5 int LonNhat (int a[SIZE][SIZE]) { int i,j; int max = a[0][0]; for(i = 0; i max) max = a[i][j]; } return max; } Sưu tầm b ởi: www.daihoc.com.vn
  15. BBààii ttậậpp „ ChChươươngng 5:5: 6,7,8,96,7,8,9 Sưu tầm b ởi: www.daihoc.com.vn
  16. Sưu tầm b ởi: www.daihoc.com.vn