Các thuật toán trên mảng hai chiều pptx

16 413 5
Các thuật toán trên mảng hai chiều pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

C C á á c thu c thu ậ ậ t to t to á á n trên m n trên m ả ả ng ng hai chi hai chi ề ề u u Nguy Nguy ễ ễ n Đông H n Đông H à à Khoa CNTT Khoa CNTT – – ĐH KHTN ĐH KHTN N N ộ ộ i dung i dung   Duy Duy ệ ệ t m t m ả ả ng 2 chi ng 2 chi ề ề u u   T T í í nh t nh t ổ ổ ng s ng s ố ố , t , t í í ch s ch s ố ố   Đ Đ ế ế m m   T T ì ì m ki m ki ế ế m m   T T ì ì m ph m ph ầ ầ n t n t ử ử l l ớ ớ n nh n nh ấ ấ t, nh t, nh ỏ ỏ nh nh ấ ấ t t Duy Duy ệ ệ t h t h ế ế t c t c á á c ph c ph ầ ầ n t n t ử ử c c ủ ủ a m a m ả ả ng ng 1 1 2 2 5 7 5 4 2 5 7 8 9 3 8   M M ả ả ng a[3][5]: ng a[3][5]:   so_dong = 3; so_dong = 3;   so_cot = 5; so_cot = 5; Duy Duy ệ ệ t h t h ế ế t c t c á á c ph c ph ầ ầ n t n t ử ử c c ủ ủ a m a m ả ả ng ng for(i = 0; i < so_dong; i++) for(j = 0; j < so_cot; j++) { /* Xử lý phần tử a[i][j] */ } Duy Duy ệ ệ t c t c á á c ph c ph ầ ầ n t n t ử ử trên c trên c ù ù ng dòng ho ng dòng ho ặ ặ c c c c ộ ộ t t for(j = 0; j < so_cot; j++) { /* Xử lý phần tử a[k][j] */ }  Duyệt các phần tử trên dòng có chỉ số k  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 ng ch é é o c o c ủ ủ a ma tr a ma tr ậ ậ n vuông n vuông for(i = 0; i < n; i++) { /* Xử lý phần tử a[i][i] */ }  Đường chéo chính  Đường chéo phụ for(i = 0; i < n; i++) { /* Xử lý phần tử a[n-1-i][i] */ } T T í í nh t nh t ổ ổ ng c ng c á á c ph c ph ầ ầ n t n t ử ử trên 1 dòng trên 1 dòng int tong = 0; for(j = 0; j < so_cot; j++) { tong = tong + a[k][j] }  Tính tổng các phần tử trên dòng chỉ số k T T í í nh t nh t ổ ổ ng c ng c á á c s c s ố ố ch ch ẵ ẵ n trên đư n trên đư ờ ờ ng ch ng ch é é o ch o ch í í nh nh 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; }   T T í í nh t nh t ổ ổ ng c ng c á á c s c s ố ố ch ch ẵ ẵ n trên đư n trên đư ờ ờ ng ch ng ch é é o ch o ch í í nh nh T T í í nh t nh t í í ch c ch c á á c s c s ố ố l l ẻ ẻ trên đư trên đư ờ ờ ng ch ng ch é é o ph o 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; }   T T í í nh t nh t ổ ổ ng c ng c á á c s c s ố ố l l ẻ ẻ trên đư trên đư ờ ờ ng ch ng ch é é o ph o ph ụ ụ T T í í nh t nh t í í ch c ch c á á c s c s ố ố l l ẻ ẻ trên đư trên đư ờ ờ ng ch ng ch é é o ph o 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; }   T T í í nh t nh t ổ ổ ng c ng c á á c s c s ố ố l l ẻ ẻ trên đư trên đư ờ ờ ng ch ng ch é é o ph o ph ụ ụ [...]...Đếm các số dương trong phần tam giác phía trên đường chéo chính Sử dụng 1 biến đếm để ghi nhận số phần tử thỏa điều kiện Điều kiện của các phần tử phía trên đường chéo chính là i >j Điều kiện số dương là a[i][j] > 0 int TamGiacTrenDuong (int a[5][5]) { int dem = 0; int i,j; for(i... } Tìm kiếm Tìm xem một số x có xuất hiện trong phần tam giác phía trên đường chéo phụ của 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 max) max = a[i][j]; } return max; } Tìm phần tử lớn nhất trong mảng Duyệt qua tất cả các phần tử, dùng một biến max để lưu trữ giá trị lớn nhất #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++) { . t ử ử trên c trên c ù ù ng dòng ho ng dòng ho ặ ặ c c c c ộ ộ t t for(j = 0; j < so_cot; j++) { /* Xử lý phần tử a[k][j] */ }  Duyệt các phần tử trên dòng có chỉ số k  Duyệt các phần tử trên. C C á á c thu c thu ậ ậ t to t to á á n trên m n trên m ả ả ng ng hai chi hai chi ề ề u u Nguy Nguy ễ ễ n Đông H n Đông H à à Khoa CNTT Khoa CNTT – – . c ng c á á c ph c ph ầ ầ n t n t ử ử trên 1 dòng trên 1 dòng int tong = 0; for(j = 0; j < so_cot; j++) { tong = tong + a[k][j] }  Tính tổng các phần tử trên dòng chỉ số k T T í í nh t nh t ổ ổ ng

Ngày đăng: 31/07/2014, 14:22

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan